I have a situation where I want to specialize a class template on the
basis of iterator_category, but I don't see how to get one of the
standard categories when passed a boost iterator adapter. Currently,
std::iterator_traits<MyIter>::iterator_category is giving me:
boost::iterator_tag
I need random_access_iterator_tag for the right specialization to
happen. Is there any way to get the *standard* iterator category from
a boost iterator?
MyIter is boost::indirect_iterator::iterator>
compiler is gcc 3.2.3 (mingw special 20030504-1)
BTW, isn't this non-standard iterator_category bound to cause
problems? e.g. if I use std::distance (MyIter(), MyIter()), how does
the compiler know that it should use the
std::random_access_iterator_tag specialization of std::distance?
--
Raoul Gough
"Let there be one measure for wine throughout our kingdom, and one
measure for ale, and one measure for corn" - Magna Carta