re PR libstdc++/16154 (input iterator concept too restrictive)

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
This commit is contained in:
Paolo Carlini 2004-06-23 16:03:52 +00:00 committed by Paolo Carlini
parent e1d2bd1e44
commit dcbbf6f31b
2 changed files with 9 additions and 1 deletions

View 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

View 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> >();