From ce20536587ae38439864fe6f61647e0f10cedd5d Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Fri, 26 Jul 2002 19:24:44 +0000 Subject: [PATCH] added input and output traversal tags [SVN r319] --- include/boost/iterator/iterator_categories.hpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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; };