On Feb 17, 2012, at 9:22 AM, Joe Neeman wrote:

> 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>&'

You overestimate my powers of deduction...
Thanks very much for the help!  New patch set uploaded.

Cheers,
MS
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to