diff --git a/include/boost/iterator/iterator_categories.hpp b/include/boost/iterator/iterator_categories.hpp index 4bcc87b..7241882 100644 --- a/include/boost/iterator/iterator_categories.hpp +++ b/include/boost/iterator/iterator_categories.hpp @@ -26,6 +26,8 @@ namespace boost { virtual public readable_iterator_tag { }; // Traversal Categories + struct input_traversal_tag { }; + struct output_traversal_tag { }; struct forward_traversal_tag { }; struct bidirectional_traversal_tag : public forward_traversal_tag { }; struct random_access_traversal_tag : public bidirectional_traversal_tag { }; @@ -102,7 +104,15 @@ namespace boost { typename ct_if< is_convertible::value, bidirectional_traversal_tag, - forward_traversal_tag + typename ct_if< + is_convertible::value, + forward_traversal_tag, + typename ct_if< + is_convertible::value, + input_traversal_tag, + output_traversal_tag + >::type + >::type >::type >::type type; };