re PR libstdc++/16154 (input iterator concept too restrictive)
authorPaolo Carlini <pcarlini@suse.de>
Wed, 23 Jun 2004 16:03:52 +0000 (16:03 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Wed, 23 Jun 2004 16:03:52 +0000 (16:03 +0000)
2004-06-23  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/16154
* include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
Don't require the _DefaultConstructibleConcept.
(struct _ForwardIteratorConcept): Require it here.

From-SVN: r83554

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/boost_concept_check.h

index 4ab2ddd0fe5d247c7748edef3ece3ecff644a492..18c1ead570c8da35383ce885c5cf058a11ecff57 100644 (file)
@@ -1,3 +1,10 @@
+2004-06-23  Paolo Carlini  <pcarlini@suse.de>
+
+       PR libstdc++/16154
+       * include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
+       Don't require the _DefaultConstructibleConcept.
+       (struct _ForwardIteratorConcept): Require it here.
+
 2004-06-22  Alexandre Oliva  <aoliva@redhat.com>
 
        * include/bits/istream.tcc (getline): Make sure arguments passed
index cf084fb3ccf802598001b62b6cb73183225a3696..7c99838dcb79b17cf9ef3ec19d65cfa0a516d9c7 100644 (file)
@@ -418,7 +418,7 @@ struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; };
   struct _TrivialIteratorConcept
   {
     void __constraints() {
-      __function_requires< _DefaultConstructibleConcept<_Tp> >();
+//    __function_requires< _DefaultConstructibleConcept<_Tp> >();
       __function_requires< _AssignableConcept<_Tp> >();
       __function_requires< _EqualityComparableConcept<_Tp> >();
 //      typedef typename std::iterator_traits<_Tp>::value_type _V;
@@ -475,6 +475,7 @@ struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; };
   {
     void __constraints() {
       __function_requires< _InputIteratorConcept<_Tp> >();
+      __function_requires< _DefaultConstructibleConcept<_Tp> >();
       __function_requires< _ConvertibleConcept<
         typename std::iterator_traits<_Tp>::iterator_category,
         std::forward_iterator_tag> >();