diff options
5 files changed, 14 insertions, 5 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index c0649d7..841523f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,15 @@ 2010-08-11 Paolo Carlini <paolo.carlini@oracle.com> + * include/bits/stl_algo.h (shuffle): Change signature consistently + with random_shuffle (US 121). + * include/bits/algorithmfwd.h: Adjust. + * testsuite/25_algorithms/shuffle/requirements/ + explicit_instantiation/2.cc: Likewise. + * testsuite/25_algorithms/shuffle/requirements/ + explicit_instantiation/pod.cc: Likewise. + +2010-08-11 Paolo Carlini <paolo.carlini@oracle.com> + * include/bits/move.h (forward): Reinstate the N2835 version. 2010-08-11 Paolo Carlini <paolo.carlini@oracle.com> diff --git a/libstdc++-v3/include/bits/algorithmfwd.h b/libstdc++-v3/include/bits/algorithmfwd.h index cbd7f6f..cf541bc 100644 --- a/libstdc++-v3/include/bits/algorithmfwd.h +++ b/libstdc++-v3/include/bits/algorithmfwd.h @@ -521,7 +521,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) #if defined(__GXX_EXPERIMENTAL_CXX0X__) && defined(_GLIBCXX_USE_C99_STDINT_TR1) template<typename _RAIter, typename _UGenerator> void - shuffle(_RAIter, _RAIter, _UGenerator&); + shuffle(_RAIter, _RAIter, _UGenerator&&); #endif template<typename _RAIter> diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h index fe2edb9..eecfd24 100644 --- a/libstdc++-v3/include/bits/stl_algo.h +++ b/libstdc++-v3/include/bits/stl_algo.h @@ -4133,7 +4133,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) typename _UniformRandomNumberGenerator> void shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, - _UniformRandomNumberGenerator& __g) + _UniformRandomNumberGenerator&& __g) { // concept requirements __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept< diff --git a/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc index 6941bd0..8403102 100644 --- a/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc +++ b/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc @@ -21,7 +21,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. - #include <algorithm> #include <random> #include <testsuite_api.h> @@ -34,5 +33,5 @@ namespace std typedef value_type* iterator_type; typedef std::mt19937_64 ugenerator_type; - template void shuffle(iterator_type, iterator_type, ugenerator_type&); + template void shuffle(iterator_type, iterator_type, ugenerator_type&&); } diff --git a/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc index a33ddd4..0f0a1e1 100644 --- a/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc +++ b/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc @@ -33,5 +33,5 @@ namespace std typedef value_type* iterator_type; typedef std::mt19937_64 ugenerator_type; - template void shuffle(iterator_type, iterator_type, ugenerator_type&); + template void shuffle(iterator_type, iterator_type, ugenerator_type&&); } |