Hi Boosters, The container algorithms are almost finished (at least for complient compilers). This means we can do the following for all standard algorithms:
int array[] = { .... }; std::pair<iterator,iterator> = ...; vector v = ....; std::copy( <one_of_the_three_containers>, <one_of_the_containers> ); All the conde is in the sandbox in boost/sequence_algo/(container_traits.hpp|container_algo.hpp) libs/sequence_algo/test/container_algo.cpp So I would like to get some feedback on these issues: 1. by overloading some names raises ambiguity. The obvious solution is to change the name of the algorithm slightly. Currently I have put those algorithms in an extra namespace "ext". Another possibility was to add an underscore. 2. many standard algorithms take a single output iterator as an argument. Currently the argument for output must be a container. Should it be posible to specify an iterator here too? 3. What kind of documentation would be appropriate for this library? I imagine a very short one. 4. The code implement poor mans partial specialization to enable the container_traits to work with buggy compilers; so far so good; however, many compilers cannot even do partial ordering of function templates which is a real pain in the ****. I know the workaround might be to say template< typename C > inline typename container_traits<C>::iterator begin( C c ) { return container_traits<C>::function_t::begin( c ); } instead of template< typename C > inline typename container_traits<C>::iterator begin( C& c ) { return container_traits<C>::function_t::begin( c ); } template< typename C > inline typename container_traits<C>::const_iterator begin( const C& c ) { return container_traits<C>::function_t::begin( c ); } but C can be a huge STL container. Can we assume compilers will inline code and not copy anything? 5. Should the small boost extensions like iota etc be included with this realease as well? regards Thorsten _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost