aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog10
-rw-r--r--libstdc++-v3/include/bits/algorithmfwd.h2
-rw-r--r--libstdc++-v3/include/bits/stl_algo.h2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc3
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc2
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&&);
}