From 6317b09a7c2f9cb85eaace40c3fd52c4f00ddfd2 Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Tue, 27 Jan 2004 18:31:31 +0000 Subject: [PATCH] merged in fixes [SVN r22007] --- test/concept_tests.cpp | 20 ++++++++++++---- test/filter_iterator_test.cpp | 6 +++-- test/iterator_adaptor_cc.cpp | 6 +++-- test/iterator_archetype_cc.cpp | 42 +++++++++++++++++++++++++++++++--- test/reverse_iterator_test.cpp | 14 ++++++++---- 5 files changed, 72 insertions(+), 16 deletions(-) diff --git a/test/concept_tests.cpp b/test/concept_tests.cpp index 399911d..dd99600 100644 --- a/test/concept_tests.cpp +++ b/test/concept_tests.cpp @@ -61,23 +61,35 @@ main() (void)derived; boost::function_requires< - boost_concepts::WritableLvalueIteratorConcept >(); + boost_concepts::WritableIteratorConcept >(); + boost::function_requires< + boost_concepts::LvalueIteratorConcept >(); boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); boost::function_requires< - boost_concepts::ReadableLvalueIteratorConcept >(); + boost_concepts::ReadableIteratorConcept >(); + boost::function_requires< + boost_concepts::LvalueIteratorConcept >(); boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); boost::function_requires< - boost_concepts::WritableLvalueIteratorConcept >(); + boost_concepts::WritableIteratorConcept >(); + boost::function_requires< + boost_concepts::LvalueIteratorConcept >(); boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); boost::function_requires< - boost_concepts::WritableLvalueIteratorConcept >(); + boost_concepts::WritableIteratorConcept >(); + boost::function_requires< + boost_concepts::LvalueIteratorConcept >(); boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); + + boost::function_requires< + boost_concepts::InteroperableIteratorConcept >(); + return 0; } diff --git a/test/filter_iterator_test.cpp b/test/filter_iterator_test.cpp index 8b4d190..11c260c 100644 --- a/test/filter_iterator_test.cpp +++ b/test/filter_iterator_test.cpp @@ -125,7 +125,8 @@ int main() > BaseIter; typedef boost::filter_iterator Iter; boost::function_requires< boost::ForwardIteratorConcept >(); - boost::function_requires< boost_concepts::ReadableLvalueIteratorConcept >(); + boost::function_requires< boost_concepts::ReadableIteratorConcept >(); + boost::function_requires< boost_concepts::LvalueIteratorConcept >(); boost::function_requires< boost_concepts::ForwardTraversalConcept >(); } { @@ -136,7 +137,8 @@ int main() > BaseIter; typedef boost::filter_iterator Iter; boost::function_requires< boost::Mutable_ForwardIteratorConcept >(); - boost::function_requires< boost_concepts::WritableLvalueIteratorConcept >(); + boost::function_requires< boost_concepts::WritableIteratorConcept >(); + boost::function_requires< boost_concepts::LvalueIteratorConcept >(); boost::function_requires< boost_concepts::ForwardTraversalConcept >(); } #endif diff --git a/test/iterator_adaptor_cc.cpp b/test/iterator_adaptor_cc.cpp index cae2a5a..67683f0 100644 --- a/test/iterator_adaptor_cc.cpp +++ b/test/iterator_adaptor_cc.cpp @@ -10,7 +10,8 @@ int main() typedef boost::reverse_iterator rev_iter; typedef boost::reverse_iterator c_rev_iter; - boost::function_requires< boost_concepts::WritableLvalueIteratorConcept >(); + boost::function_requires< boost_concepts::WritableIteratorConcept >(); + boost::function_requires< boost_concepts::LvalueIteratorConcept >(); boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); boost::function_requires< boost::RandomAccessIteratorConcept >(); boost::function_requires< boost_concepts::InteroperableIteratorConcept >(); @@ -28,7 +29,8 @@ int main() typedef boost::reverse_iterator::iterator> rev_iter; typedef boost::reverse_iterator::const_iterator> c_rev_iter; - boost::function_requires< boost_concepts::ReadableLvalueIteratorConcept >(); + boost::function_requires< boost_concepts::ReadableIteratorConcept >(); + boost::function_requires< boost_concepts::LvalueIteratorConcept >(); boost::function_requires< boost_concepts::BidirectionalTraversalConcept >(); boost::function_requires< boost::BidirectionalIteratorConcept >(); boost::function_requires< boost_concepts::InteroperableIteratorConcept >(); diff --git a/test/iterator_archetype_cc.cpp b/test/iterator_archetype_cc.cpp index b5badea..6a71551 100644 --- a/test/iterator_archetype_cc.cpp +++ b/test/iterator_archetype_cc.cpp @@ -9,18 +9,54 @@ #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::ReadableIteratorConcept >(); + boost::function_requires< boost_concepts::LvalueIteratorConcept >(); + boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); + } + { typedef boost::iterator_archetype< int , boost::iterator_archetypes::writable_lvalue_iterator_t , boost::random_access_traversal_tag > iter; - boost::function_requires< boost_concepts::WritableLvalueIteratorConcept >(); + boost::function_requires< boost_concepts::WritableIteratorConcept >(); + boost::function_requires< boost_concepts::LvalueIteratorConcept >(); boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); - - return 0; // keep msvc happy + } + + return boost::exit_success; } diff --git a/test/reverse_iterator_test.cpp b/test/reverse_iterator_test.cpp index dd9b88a..6686d30 100644 --- a/test/reverse_iterator_test.cpp +++ b/test/reverse_iterator_test.cpp @@ -31,13 +31,15 @@ int main() { typedef boost::reverse_iterator > Iter; boost::function_requires< boost::BidirectionalIteratorConcept >(); - boost::function_requires< boost_concepts::ReadableLvalueIteratorConcept >(); + boost::function_requires< boost_concepts::ReadableIteratorConcept >(); + boost::function_requires< boost_concepts::LvalueIteratorConcept >(); boost::function_requires< boost_concepts::BidirectionalTraversalConcept >(); } { typedef boost::reverse_iterator > Iter; boost::function_requires< boost::Mutable_BidirectionalIteratorConcept >(); - boost::function_requires< boost_concepts::WritableLvalueIteratorConcept >(); + boost::function_requires< boost_concepts::WritableIteratorConcept >(); + boost::function_requires< boost_concepts::LvalueIteratorConcept >(); boost::function_requires< boost_concepts::BidirectionalTraversalConcept >(); } // Adapting new-style iterators @@ -87,7 +89,8 @@ int main() > iter; typedef boost::reverse_iterator Iter; boost::function_requires< boost::BidirectionalIteratorConcept >(); - boost::function_requires< boost_concepts::ReadableLvalueIteratorConcept >(); + boost::function_requires< boost_concepts::ReadableIteratorConcept >(); + boost::function_requires< boost_concepts::LvalueIteratorConcept >(); boost::function_requires< boost_concepts::BidirectionalTraversalConcept >(); } { @@ -98,11 +101,12 @@ int main() > iter; typedef boost::reverse_iterator Iter; boost::function_requires< boost::BidirectionalIteratorConcept >(); - boost::function_requires< boost_concepts::WritableLvalueIteratorConcept >(); + boost::function_requires< boost_concepts::WritableIteratorConcept >(); + boost::function_requires< boost_concepts::LvalueIteratorConcept >(); boost::function_requires< boost_concepts::BidirectionalTraversalConcept >(); } #endif - + // Test reverse_iterator { dummyT reversed[N];