Я храню значения в std :: map
Я нахожу два значения в карте и хочу перебрать от первого до последнего элемента - однако оператор <= не реализован, поэтому я не могу сделать что-то вроде этого: </p>
void foobar(const DatedRecordset& recs, const double startstamp, const double endtstamp)
{
DatedRecordsetConstIter start_iter = recs.lower_bound(startstamp), end_iter = recs.lower_bound(endtstamp);
// Can't do this .... (<= not defined)
//for (DatedRecordsetConstIter cit = start_iter; cit <= end_iter; cit++ )
/ So have to resort to a hack like this:
for (DatedRecordsetConstIter cit = start_iter; cit != recs.end(); cit++ ) {
if ((*cit).first <= (*end_iter).first){
//do something;
}
else
break;
}
}
}
Есть ли более элегантный способ итерации между двумя известными итераторами?