diff --git a/test/iterator_archetype_cc.cpp b/test/iterator_archetype_cc.cpp index b5badea..d5409ce 100644 --- a/test/iterator_archetype_cc.cpp +++ b/test/iterator_archetype_cc.cpp @@ -9,9 +9,42 @@ #include #include #include +#include int main() { + { + typedef boost::iterator_archetype< + int + , boost::iterator_archetypes::readable_iterator_t + , boost::random_access_traversal_tag + > iter; + + boost::function_requires< boost_concepts::ReadableIteratorConcept >(); + boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); + } + { + typedef boost::iterator_archetype< + int + , boost::iterator_archetypes::readable_writable_iterator_t + , boost::random_access_traversal_tag + > iter; + + boost::function_requires< boost_concepts::ReadableIteratorConcept >(); + boost::function_requires< boost_concepts::WritableIteratorConcept >(); + boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); + } + { + typedef boost::iterator_archetype< + const int // I don't like adding const to Value. It is redundant. -JGS + , boost::iterator_archetypes::readable_lvalue_iterator_t + , boost::random_access_traversal_tag + > iter; + + boost::function_requires< boost_concepts::ReadableLvalueIteratorConcept >(); + boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); + } + { typedef boost::iterator_archetype< int , boost::iterator_archetypes::writable_lvalue_iterator_t @@ -20,7 +53,8 @@ int main() boost::function_requires< boost_concepts::WritableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); - - return 0; // keep msvc happy + } + + return boost::exit_success; }