I have experienced some difficulty with sorting lists of type:The problem is here, as your list contains shared_ptr < my_class >, the list is ordered by shared_ptr < my_class >::operator< which will usually amount to an address comparison of the pointers contained in the shared_ptr.
list < shared_ptr < foo > >
Here is the expected (sorted) program output:
424238335 596516649 719885386 846930886 1189641421 1649760492 1681692777 1714636915 1804289383 1957747793
Instead, I end up with:
1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421
list < shared_ptr < my_class > > my_list; list < shared_ptr < my_class > >::iterator my_iter;
To fix this you need to pass in my_class::operator< as the predicate to use for the sort().
Matt
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost