David A. Greene wrote: > I do need to be able to start at various points within the sequence. > Your second solution fleshes out the design I had in mind, but I > was out of town over the weekend so you beat me to the punch. :)
Actually, I wrote too much code in that "solution" ;). Just this would be enough: template< typename T > struct intrusive_iter { typedef T type; typedef intrusive_iter<typename T::type> next; }; template<> struct intrusive_iter<void_> { }; template< typename T > struct intrusive_list { typedef mpl::nested_begin_end_tag tag; // not required typedef intrusive_iter<T> begin; typedef intrusive_iter<void_> end; }; No 'begin/end' specializations needed, and the 'tag' typedef is there only to make some deficient compilers happy (Borland, in particular). Aleksey _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost