Commit 02669b68 by Phil Edwards

stl_algo.h (transform (both signatures), generate_n): Use __typeof__ in concept checks.

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

	* include/bits/stl_algo.h (transform (both signatures), generate_n):
	Use __typeof__ in concept checks.

From-SVN: r49653
parent c0d88161
2002-02-10 Phil Edwards <pme@gcc.gnu.org>
* include/bits/stl_algo.h (transform (both signatures), generate_n):
Use __typeof__ in concept checks.
2002-02-10 Jonathan Wakely <cow@compsoc.man.ac.uk> 2002-02-10 Jonathan Wakely <cow@compsoc.man.ac.uk>
* include/bits/stl_algo.h (__median, for_each, find, find_if, * include/bits/stl_algo.h (__median, for_each, find, find_if,
......
...@@ -737,11 +737,9 @@ namespace std ...@@ -737,11 +737,9 @@ namespace std
{ {
// concept requirements // concept requirements
__glibcpp_function_requires(_InputIteratorConcept<_InputIter>) __glibcpp_function_requires(_InputIteratorConcept<_InputIter>)
/* XXX
__glibcpp_function_requires(_OutputIteratorConcept<_OutputIter, __glibcpp_function_requires(_OutputIteratorConcept<_OutputIter,
// should be "the type returned by _UnaryOperation" // "the type returned by a _UnaryOperation"
typename iterator_traits<_InputIter>::value_type>) __typeof__(__unary_op(*__first))>)
*/
for ( ; __first != __last; ++__first, ++__result) for ( ; __first != __last; ++__first, ++__result)
*__result = __unary_op(*__first); *__result = __unary_op(*__first);
...@@ -775,11 +773,9 @@ namespace std ...@@ -775,11 +773,9 @@ namespace std
// concept requirements // concept requirements
__glibcpp_function_requires(_InputIteratorConcept<_InputIter1>) __glibcpp_function_requires(_InputIteratorConcept<_InputIter1>)
__glibcpp_function_requires(_InputIteratorConcept<_InputIter2>) __glibcpp_function_requires(_InputIteratorConcept<_InputIter2>)
/* XXX
__glibcpp_function_requires(_OutputIteratorConcept<_OutputIter, __glibcpp_function_requires(_OutputIteratorConcept<_OutputIter,
// should be "the type returned by _BinaryOperation" // "the type returned by a _BinaryOperation"
typename iterator_traits<_InputIter1>::value_type>) __typeof__(__binary_op(*__first1,*__first2))>)
*/
for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result) for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result)
*__result = __binary_op(*__first1, *__first2); *__result = __binary_op(*__first1, *__first2);
...@@ -948,11 +944,10 @@ namespace std ...@@ -948,11 +944,10 @@ namespace std
_OutputIter _OutputIter
generate_n(_OutputIter __first, _Size __n, _Generator __gen) generate_n(_OutputIter __first, _Size __n, _Generator __gen)
{ {
/* // concept requirements
// XXX concept requirements
__glibcpp_function_requires(_OutputIteratorConcept<_OutputIter, __glibcpp_function_requires(_OutputIteratorConcept<_OutputIter,
"the return type of _Generator" ?? >) // "the type returned by a _Generator"
*/ __typeof__(gen())>)
for ( ; __n > 0; --__n, ++__first) for ( ; __n > 0; --__n, ++__first)
*__first = __gen(); *__first = __gen();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment