6 #ifndef BOOST_ITERATOR_CATEGORIES_HPP
7 # define BOOST_ITERATOR_CATEGORIES_HPP
79 is_convertible<Cat,std::random_access_iterator_tag>
80 , mpl::identity<random_access_traversal_tag>
82 is_convertible<Cat,std::bidirectional_iterator_tag>
83 , mpl::identity<bidirectional_traversal_tag>
85 is_convertible<Cat,std::forward_iterator_tag>
86 , mpl::identity<forward_traversal_tag>
88 is_convertible<Cat,std::input_iterator_tag>
89 , mpl::identity<single_pass_traversal_tag>
91 is_convertible<Cat,std::output_iterator_tag>
92 , mpl::identity<incrementable_traversal_tag>
109 is_convertible<Cat,incrementable_traversal_tag>
111 , boost::iterators::detail::old_category_to_traversal<Cat>
116 template <
class Iterator = mpl::_1>
119 typename boost::detail::iterator_traits<Iterator>::iterator_category
123 # ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
137 struct iterator_traversal<mpl::
_>
138 : iterator_traversal<mpl::_1>
145 template <
class Traversal>
148 is_convertible<Traversal,random_access_traversal_tag>
149 , mpl::identity<random_access_traversal_tag>
151 is_convertible<Traversal,bidirectional_traversal_tag>
152 , mpl::identity<bidirectional_traversal_tag>
154 is_convertible<Traversal,forward_traversal_tag>
155 , mpl::identity<forward_traversal_tag>
157 is_convertible<Traversal,single_pass_traversal_tag>
158 , mpl::identity<single_pass_traversal_tag>
160 is_convertible<Traversal,incrementable_traversal_tag>
161 , mpl::identity<incrementable_traversal_tag>
174 template <
class Iterator = mpl::_1>
179 # ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
188 struct pure_iterator_traversal<mpl::
_>
189 : pure_iterator_traversal<mpl::_1>
195 using iterators::no_traversal_tag;
196 using iterators::incrementable_traversal_tag;
197 using iterators::single_pass_traversal_tag;
198 using iterators::forward_traversal_tag;
199 using iterators::bidirectional_traversal_tag;
200 using iterators::random_access_traversal_tag;
201 using iterators::iterator_category_to_traversal;
202 using iterators::iterator_traversal;
208 using iterators::pure_traversal_tag;
215 #endif // BOOST_ITERATOR_CATEGORIES_HPP