From 7d8d79102233fd77eb4bc8ae45dcb00f7071a0c1 Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Sun, 6 May 2001 01:20:41 +0000 Subject: [PATCH] Workarounds for HP aCC from Thomas Matelich [SVN r10031] --- include/boost/concept_check.hpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/include/boost/concept_check.hpp b/include/boost/concept_check.hpp index e96d7b4..1e0f501 100644 --- a/include/boost/concept_check.hpp +++ b/include/boost/concept_check.hpp @@ -6,6 +6,7 @@ // to its suitability for any purpose. // // Revision History: +// 05 May 2001: Workarounds for HP aCC from Thomas Matelich. (Jeremy Siek) // 02 April 2001: Removed limits header altogether. (Jeremy Siek) // 01 April 2001: Modified to use new header. (JMaddock) // @@ -460,9 +461,7 @@ struct require_same { typedef T type; }; typedef typename std::iterator_traits::reference R; typedef typename std::iterator_traits::pointer P; typedef typename std::iterator_traits::iterator_category C; - function_requires< ConvertibleConcept< - typename std::iterator_traits::iterator_category, - std::input_iterator_tag> >(); + function_requires< ConvertibleConcept >(); #endif ++i; // require preincrement operator i++; // require postincrement operator @@ -489,9 +488,8 @@ struct require_same { typedef T type; }; void constraints() { function_requires< InputIteratorConcept >(); #ifndef BOOST_NO_STD_ITERATOR_TRAITS - function_requires< ConvertibleConcept< - typename std::iterator_traits::iterator_category, - std::forward_iterator_tag> >(); + typedef typename std::iterator_traits::iterator_category C; + function_requires< ConvertibleConcept >(); typedef typename std::iterator_traits::reference reference; reference r = *i; ignore_unused_variable_warning(r); @@ -516,8 +514,8 @@ struct require_same { typedef T type; }; void constraints() { function_requires< ForwardIteratorConcept >(); #ifndef BOOST_NO_STD_ITERATOR_TRAITS - function_requires< ConvertibleConcept< - typename std::iterator_traits::iterator_category, + typedef typename std::iterator_traits::iterator_category C; + function_requires< ConvertibleConcept >(); #endif --i; // require predecrement operator @@ -545,8 +543,8 @@ struct require_same { typedef T type; }; function_requires< BidirectionalIteratorConcept >(); function_requires< ComparableConcept >(); #ifndef BOOST_NO_STD_ITERATOR_TRAITS - function_requires< ConvertibleConcept< - typename std::iterator_traits::iterator_category, + typedef typename std::iterator_traits::iterator_category C; + function_requires< ConvertibleConcept< C, std::random_access_iterator_tag> >(); typedef typename std::iterator_traits::reference R; #endif