From be55d6db145e4b4b6986909b7520398ec7795850 Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Mon, 26 Jan 2004 17:12:04 +0000 Subject: [PATCH] merging in updates [SVN r21975] --- test/indirect_iterator_test.cpp | 2 +- test/iterator_adaptor_cc.cpp | 16 +++++++++++++--- test/transform_iterator_test.cpp | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/test/indirect_iterator_test.cpp b/test/indirect_iterator_test.cpp index 56db69b..781c226 100644 --- a/test/indirect_iterator_test.cpp +++ b/test/indirect_iterator_test.cpp @@ -175,7 +175,7 @@ main() > c_iter_t; # ifndef NO_MUTABLE_CONST_RA_ITERATOR_INTEROPERABILITY - boost::function_requires< boost_concepts::InteroperableConcept >(); + boost::function_requires< boost_concepts::InteroperableIteratorConcept >(); # endif } diff --git a/test/iterator_adaptor_cc.cpp b/test/iterator_adaptor_cc.cpp index ba7e79b..cae2a5a 100644 --- a/test/iterator_adaptor_cc.cpp +++ b/test/iterator_adaptor_cc.cpp @@ -13,8 +13,17 @@ int main() boost::function_requires< boost_concepts::WritableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); boost::function_requires< boost::RandomAccessIteratorConcept >(); - boost::function_requires< boost_concepts::InteroperableConcept >(); + boost::function_requires< boost_concepts::InteroperableIteratorConcept >(); } + + // Many compilers' builtin container iterators don't interoperate well, though + // STLport fixes that problem. +#if defined(__SGI_STL_PORT) \ + || !BOOST_WORKAROUND(__GNUC__, <= 2) \ + && !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 1)) \ + && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551)) \ + && !BOOST_WORKAROUND(__LIBCOMO_VERSION__, BOOST_TESTED_AT(29)) \ + && !BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, <= 1) { typedef boost::reverse_iterator::iterator> rev_iter; typedef boost::reverse_iterator::const_iterator> c_rev_iter; @@ -22,8 +31,9 @@ int main() boost::function_requires< boost_concepts::ReadableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::BidirectionalTraversalConcept >(); boost::function_requires< boost::BidirectionalIteratorConcept >(); - boost::function_requires< boost_concepts::InteroperableConcept >(); + boost::function_requires< boost_concepts::InteroperableIteratorConcept >(); } - +#endif + return boost::exit_success; } diff --git a/test/transform_iterator_test.cpp b/test/transform_iterator_test.cpp index 2c9139a..6c02a26 100644 --- a/test/transform_iterator_test.cpp +++ b/test/transform_iterator_test.cpp @@ -115,7 +115,7 @@ main() typedef boost::transform_iterator iter_t; typedef boost::transform_iterator c_iter_t; - boost::function_requires< boost_concepts::InteroperableConcept >(); + boost::function_requires< boost_concepts::InteroperableIteratorConcept >(); } // Test transform_iterator