
Eric Niebler <eric <at> boost-consulting.com> writes:
While investigating test failures with Boost.Foreach, I found this in Boost.Range's documentation for extending the Range library:
http://boost.org/libs/range/doc/boost_range.html#minimal_interface
This seems to suggest that the only way to extend Boost.Range is for user-defined types to implement a std-container-like interface, with nested iterator and const_iterator types, and begin() and end() member functions. Is this really the intention?
no
I seem to recall some discussion about a more accomodating extensibility mechanism that makes allowances for non-std-container-like user-defined range types. In fact, Boost.Foreach assumes such an interface, with disastrous results. What became of Boost.Range's extensibility mechanism?
it's still there, just not very much documented.
Is it documented anywhere, and I'm just not seeing it?
I think the best documentation was provided by you in your for-each docs. If you don't mind, I would love to steal that some day :-) In a perfect world, that would have been part of the range docs from the beginning. br Thorsten