
On Tue, 2008-06-17 at 17:47 +0200, Mathias Gaunard wrote:
I'm writing some piece of software working that does a lot of data structures traversal and that really needed filtering of traversal etc.
I thought I'd get that from Boost.Range, but I was surprised to see Boost.Range provides very little: all the good stuff (the range-based algorithms and adaptors) are in another library, range_ex, which isn't in the main distribution yet.
Will this library be included in Boost soon? It's really great.
I am the current maintainer of the Boost.RangeEx proposal. I am therefore responsible for making Boost.RangeEx do what you desire and for the introduction of this library into the main distribution being delayed. I have fixed several issues with the code and continued the development. I have yet to produce documentation that is acceptable for review. I aim to have this done by the end of August 2008. I certainly hope the library will be included in the main distribution soon. I believe the code to be in a good state. I will attempt to resolve any issues that anyone raises in a timely manner. It has been used on Windows, Linux and Mac under Visual C++ 7.1, 8.0 and Gcc 3.x and 4.x. There are no known defects.
As for the open issues, here are my opinions: - Output ranges: don't adaptors already output ranges? The output is an output iterator. Half-open ranges are modified in-place by several algorithms. This works, but may be improved upon later. I believe that the current code is very useful already.
- Two input ranges, or a range and an iterator?: two ranges can do more - For any algorithm foo(container, args...), if foo(args...) is valid then it should be called
- Null-termination of C-style strings: Isn't that up to Boost.Range to decide whether it's a range or not?
It's not quite that simple since supporting C-style strings requires more overloads for many algorithms. It often effects range algorithm implementation too. I believe that leaving the C-style strings behind has been agreed. Please let me know if I may be of further assistance. Regards, Neil Groves
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost