On Tuesday, 6 October 2015 at 02:31:53 UTC, Eric Niebler wrote:
On Monday, 5 October 2015 at 21:57:31 UTC, Walter Bright wrote:
Yes, you can build debug iterators that know their limits, or iterators with back pointers to the range. This is not an inherent property of Boost ranges, does not appear in the Boost description of ranges (unless I missed it), and is a kludge. I do not agree that D ranges owe anything to that design.

The design of the D ranges and algorithms owe quite a lot to C++, and I've heard Andrei say as much. Stepanov did the hard work of defining common algorithms in terms of iterators of different strength.

There is no denying that D owns a lot to C++. Then again D comes with great ideas of its own and success has many fathers.

Given that starting point, ranges of different strength are an "obvious" next step that many people thought up independently. D took it one way and C++ went another.

When designing my range library, I looked at all the prior art available to me including D ranges and decided D's path was not the right one for C++.

What is your thinking here? Did you write it down somewhere? This would be very interesting.

My work is based on Boost.Range. I only posted here to clear up what appeared to me to be confusion about that.

\e


Reply via email to