Subject: Re: [boost] [odeint] Iterator semantics
From: Karsten Ahnert (karsten.ahnert_at_[hidden])
Date: 2012-07-30 04:30:21


On 07/29/2012 04:27 AM, Dave Abrahams wrote:
>
> on Wed Jul 11 2012, Karsten Ahnert <karsten.ahnert-AT-ambrosys.de> wrote:
>
>> The second semantically problem is that the end iterator in principle
>> does not need to know the stepper as well as the system (lorenz() in the
>> above example). But all algorithms from the standard library and
>> Boost.Range assume that the begin and end iterator are of same type.
>> Therefore you have to put the stepper and the system into the end
>> iterator too.
>>
>> Any ideas or comments about this?
>
> Known issue. I don't know of any truly good answers other than
> range-based algorithms that don't require the existence of iterators.

Do you mean the algorithms from Boost.Range?

> In the meantime, there's Boost.Optional.

I will check Boost.Optional but I fear it is not possible to use, since
it requires the knowledge of the stepper type in advance.