
Is this a bug or am I expecting it to do something that it shouldn't? Does anyone know a workaround for this (at least temporarily)? Compiler: VC 7.1 boost: 1.33.0 Description: The "base" function for reverse iterators in the pointer container classes do not return the underlying iterator type as expected. It appears that "base" returns a reverse iterator instead. This is not specific with ptr_vector. All the pointer containers seem to have this problem. #include <boost/ptr_container/ptr_vector.hpp> void sample() { // the type of the vector does not matter for this typedef boost::ptr_vector<DWORD> boostvector; boostvector boostvec; boostvector::reverse_iterator rboostIt = boostvec.rbegin(); // The following line does NOT compile. boostvector::iterator boostIt = rboostIt.base(); // For comparison of code that DOES compile typedef std::vector<DWORD> stdvector; stdvector stdvec; stdvector::reverse_iterator rstdIt = stdvec.rbegin(); // The following line DOES compile. stdvector::iterator stdIt = rstdIt.base(); }