[libstdc++] Relax some concept-checking rules (upstream changes)

Phil Edwards pedwards@disaster.jaj.com
Wed Jan 2 19:23:00 GMT 2002


The Boost version of this file has relaxed (via comments) some of the
concept requirements, on the grounds that they are apparently too strict.
I think it best to follow suite here.

Tested on i686-linux over the last week, no regressions.


2002-01-02  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/boost_concept_check.h:  Import some changes from
	upsteam (Boost) version.


Index: include/bits/boost_concept_check.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/bits/boost_concept_check.h,v
retrieving revision 1.6
diff -u -3 -p -r1.6 boost_concept_check.h
--- boost_concept_check.h	2001/11/02 22:31:02	1.6
+++ boost_concept_check.h	2002/01/03 03:20:25
@@ -388,7 +388,7 @@ struct _Aux_require_same<_Tp,_Tp> { type
       __function_requires< _DefaultConstructibleConcept<_Tp> >();
       __function_requires< _AssignableConcept<_Tp> >();
       __function_requires< _EqualityComparableConcept<_Tp> >();
-      typedef typename std::iterator_traits<_Tp>::value_type _V;
+//      typedef typename std::iterator_traits<_Tp>::value_type _V;
       (void)*__i;                       // require dereference operator
     }
     _Tp __i;
@@ -411,7 +411,7 @@ struct _Aux_require_same<_Tp,_Tp> { type
       __function_requires< _TrivialIteratorConcept<_Tp> >();
       // require iterator_traits typedef's
       typedef typename std::iterator_traits<_Tp>::difference_type _D;
-      __function_requires< _SignedIntegerConcept<_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;



More information about the Libstdc++ mailing list