
Tom Brinkman wrote:
The review of Assignment Library library, written by Thorsten Ottosen 2003 (nesotto@cs.auc.dk) starts today(April 1, 2004)and runs for 10 days.
Latest version of the library is available at: http://groups.yahoo.com/group/boost/files/assignment/ (204 kB) or in the sandbox.
My review doesn't pretend to be complete. I took a quick look at documentation and at a couple of header files. I didn't analyze at all neither BGL nor ublas related features. I think the library cannot be accepted in its current state because library version of operator+= is introduced to _every_ class having nested value_type when one writes using boost::assignment (see my other reply for details). One possible solution would be a special container_traits class: // in insert_assigner.hpp // right before operator+= // template<class Container> struct container_traits { typedef void value_type; // SFINAE fails by default }; template<class T, class Alloc> struct container_traits< ::std::vector<T,Alloc> > { typedef T value_type; }; // specializations for other STL containers // ... template< typename C > inline insert_assigner<C> operator+=( C& c, const typename container_traits<C>::value_type& v ) { return insert_assigner<C>( c, v ); } -- Alexander Nasonov Independent Developer and Consultant