Hello,
I have boost::array< pair, 16 >::iterator (it has
iterator_traits<>::iterator_category
random_access_iterator_tag)
which I have transformed with
typedef transform_iterator< UnaryFunction, ... > iteratorIntoFirst;
struct UnaryFunction: public std::unary_function< pair,
double> {
double operator()( const pair& e ) const
{
return e.first;
}
}
However on asserting the category is still random access, boost static
assert fails:
BOOST_STATIC_ASSERT((
boost::is_convertible<
iteratorIntoFirst,
std::random_access_iterator_tag
>::value
));
From the docs
http://www.boost.org/doc/libs/1_38_0/libs/iterator/doc/transform_iterator.ht
ml
If Iterator models Readable Lvalue Iterator and if Iterator models "Random
Access Traversal Iterator", then iterator_category is convertible to
random_access_iterator_tag.
Any ideas,
Regards,