PR libstdc++/22634, DR 539 [Ready]
* include/bits/stl_numeric.h (adjacent_difference): Use std::move
at the end of the loop body, per the Ready resolution.
* include/std/numeric: Do not include unnecessarily <cstddef>.
* doc/xml/manual/intro.xml: Add an entry for DR 539.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155173
138bc75d-0d04-0410-961f-
82ee72b054a4
2009-12-11 Paolo Carlini <paolo.carlini@oracle.com>
+ PR libstdc++/22634, DR 539 [Ready]
+ * include/bits/stl_numeric.h (adjacent_difference): Use std::move
+ at the end of the loop body, per the Ready resolution.
+ * include/std/numeric: Do not include unnecessarily <cstddef>.
+ * doc/xml/manual/intro.xml: Add an entry for DR 539.
+
+2009-12-11 Paolo Carlini <paolo.carlini@oracle.com>
+
* doc/html/ext/lwg-active.html: Update to Revision R68.
* doc/html/ext/lwg-closed.html: Likewise.
* doc/html/ext/lwg-defects.html: Likewise.
input_iterator' value_type.
</para></listitem></varlistentry>
+ <varlistentry><term><ulink url="../ext/lwg-active.html#539">539</ulink>:
+ <emphasis>partial_sum and adjacent_difference should mention
+ requirements</emphasis>
+ </term>
+ <listitem><para>We were almost doing the right thing, just use std::move
+ in adjacent_difference.
+ </para></listitem></varlistentry>
+
<varlistentry><term><ulink url="../ext/lwg-defects.html#541">541</ulink>:
<emphasis>shared_ptr template assignment and void</emphasis>
</term>
#include <bits/concept_check.h>
#include <debug/debug.h>
+#include <bits/move.h> // For _GLIBCXX_MOVE
#ifdef __GXX_EXPERIMENTAL_CXX0X__
* @param last End of input range.
* @param result Output to write sums to.
* @return Iterator pointing just beyond the values written to result.
+ *
+ * _GLIBCXX_RESOLVE_LIB_DEFECTS
+ * DR 539. partial_sum and adjacent_difference should mention requirements
*/
template<typename _InputIterator, typename _OutputIterator>
_OutputIterator
{
_ValueType __tmp = *__first;
*++__result = __tmp - __value;
- __value = __tmp;
+ __value = _GLIBCXX_MOVE(__tmp);
}
return ++__result;
}
* @param last End of input range.
* @param result Output to write sums to.
* @return Iterator pointing just beyond the values written to result.
+ *
+ * _GLIBCXX_RESOLVE_LIB_DEFECTS
+ * DR 539. partial_sum and adjacent_difference should mention requirements
*/
template<typename _InputIterator, typename _OutputIterator,
typename _BinaryOperation>
{
_ValueType __tmp = *__first;
*++__result = __binary_op(__tmp, __value);
- __value = __tmp;
+ __value = _GLIBCXX_MOVE(__tmp);
}
return ++__result;
}
#pragma GCC system_header
#include <bits/c++config.h>
-#include <cstddef>
#include <bits/stl_iterator_base_types.h>
#include <bits/stl_numeric.h>