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