2010-08-11 Paolo Carlini <paolo.carlini@oracle.com>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Aug 2010 17:10:04 +0000 (17:10 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Aug 2010 17:10:04 +0000 (17:10 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163102 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/algorithmfwd.h
libstdc++-v3/include/bits/stl_algo.h
libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc

index c0649d7..841523f 100644 (file)
@@ -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>
index cbd7f6f..cf541bc 100644 (file)
@@ -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>
index fe2edb9..eecfd24 100644 (file)
@@ -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<
index 6941bd0..8403102 100644 (file)
@@ -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&&);
 } 
index a33ddd4..0f0a1e1 100644 (file)
@@ -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&&);
 }