Index: boost_concept_check.h =================================================================== RCS file: /cvs/repository/CoreTools/gcc3/libstdc++-v3/include/bits/boost_concept_check.h,v retrieving revision 1.5 diff -c -3 -p -r1.5 boost_concept_check.h *** boost_concept_check.h 2002/08/02 10:12:16 1.5 --- boost_concept_check.h 2003/06/18 15:35:01 *************** struct _Aux_require_same<_Tp,_Tp> { type *** 412,420 **** void __constraints() { __function_requires< _TrivialIteratorConcept<_Tp> >(); // require iterator_traits typedef's ! typedef typename std::iterator_traits<_Tp>::difference_type _D; ! // __function_requires< _SignedIntegerConcept<_D> >(); ! typedef typename std::iterator_traits<_Tp>::reference _R; typedef typename std::iterator_traits<_Tp>::pointer _Pt; typedef typename std::iterator_traits<_Tp>::iterator_category _Cat; __function_requires< _ConvertibleConcept< --- 412,420 ---- void __constraints() { __function_requires< _TrivialIteratorConcept<_Tp> >(); // require iterator_traits typedef's ! typedef typename std::iterator_traits<_Tp>::difference_type _Diff; ! // __function_requires< _SignedIntegerConcept<_Diff> >(); ! typedef typename std::iterator_traits<_Tp>::reference _Ref; typedef typename std::iterator_traits<_Tp>::pointer _Pt; typedef typename std::iterator_traits<_Tp>::iterator_category _Cat; __function_requires< _ConvertibleConcept< *************** struct _Aux_require_same<_Tp,_Tp> { type *** 447,454 **** __function_requires< _ConvertibleConcept< typename std::iterator_traits<_Tp>::iterator_category, std::forward_iterator_tag> >(); ! typedef typename std::iterator_traits<_Tp>::reference _R; ! _R __r _IsUnused = *__i; } _Tp __i; }; --- 447,454 ---- __function_requires< _ConvertibleConcept< typename std::iterator_traits<_Tp>::iterator_category, std::forward_iterator_tag> >(); ! typedef typename std::iterator_traits<_Tp>::reference _Ref; ! _Ref __r _IsUnused = *__i; } _Tp __i; }; *************** struct _Aux_require_same<_Tp,_Tp> { type *** 498,505 **** __function_requires< _ConvertibleConcept< typename std::iterator_traits<_Tp>::iterator_category, std::random_access_iterator_tag> >(); ! // ??? We don't use _R, are we just checking for "referenceability"? ! typedef typename std::iterator_traits<_Tp>::reference _R; __i += __n; // require assignment addition operator __i = __i + __n; __i = __n + __i; // require addition with difference type --- 498,505 ---- __function_requires< _ConvertibleConcept< typename std::iterator_traits<_Tp>::iterator_category, std::random_access_iterator_tag> >(); ! // ??? We don't use _Ref, are we just checking for "referenceability"? ! typedef typename std::iterator_traits<_Tp>::reference _Ref; __i += __n; // require assignment addition operator __i = __i + __n; __i = __n + __i; // require addition with difference type *************** struct _Aux_require_same<_Tp,_Tp> { type *** 828,834 **** typedef typename _SimpleAssociativeContainer::key_type _Key_type; typedef typename _SimpleAssociativeContainer::value_type _Value_type; typedef typename _Aux_require_same<_Key_type, _Value_type>::_Type ! _Requqired; } }; --- 828,834 ---- typedef typename _SimpleAssociativeContainer::key_type _Key_type; typedef typename _SimpleAssociativeContainer::value_type _Value_type; typedef typename _Aux_require_same<_Key_type, _Value_type>::_Type ! _Required; } };