On Thu, Feb 16, 2012 at 11:42 PM, m...@apollinemike.com < m...@apollinemike.com> wrote:
> On Feb 16, 2012, at 9:31 PM, Joe Neeman wrote: > > > On Thu, Feb 16, 2012 at 3:14 AM, m...@apollinemike.com < > m...@apollinemike.com> wrote: > >> >> On Feb 16, 2012, at 11:40 AM, joenee...@gmail.com wrote: >> >> > >> > 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; >> > >> >> Hey, >> >> 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>&'
_______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel