On Feb 17, 2012, at 9:22 AM, Joe Neeman wrote:
On Thu, Feb 16, 2012 at 11:42 PM, address@hidden <address@hidden>
On Feb 16, 2012, at 9:31 PM, Joe Neeman wrote:
On Thu, Feb 16, 2012 at 3:14 AM, address@hidden <address@hidden>
On Feb 16, 2012, at 11:40 AM, address@hidden
> The buildings are in increasing order, so this should work:
> Real last_end = -infinity_f;
> for (...)
> if (i->y_intercept_ > -infinity_f)
> return last_end;
> last_end = i->end_;
> return infinity_f;
I know this is a lame question, but how would one write the reverse iterator. I tried using reverse_iterator and g++ barfs, and I can't use the same syntax one would use in a for loop w/ a vector.
That's a bit hard to say without knowing what you tried... did you use rbegin() and rend()?
Yup - I more or less copied the example from cplusplus.com
. As an experiment, try writing a reverse iterator in that file to the tune of:
for (list<Building>::reverse_iterator i = buildings_.rbegin (); i != buildings_.rend (); ++i)
Anywhere in a function. You should see a compiler error.
Yup, which is fixed by changing reverse_iterator to const_reverse_iterator.
The hint was in the error message:
no known conversion for ... 'std::_List_const_iterator<Building>' to 'const std::_List_iterator<Building>&'
You overestimate my powers of deduction...Thanks very much for the help! New patch set uploaded.