Home | History | Annotate | Download | only in rand.adapt.shuf
      1 //===----------------------------------------------------------------------===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is dual licensed under the MIT and the University of Illinois Open
      6 // Source Licenses. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 // <random>
     11 
     12 // template<class Engine, size_t k>
     13 // class shuffle_order_engine
     14 
     15 // explicit shuffle_order_engine(const Engine& e);
     16 
     17 #include <random>
     18 #include <cassert>
     19 
     20 int main()
     21 {
     22     {
     23         typedef std::minstd_rand0 Engine;
     24         typedef std::knuth_b Adaptor;
     25         Engine e;
     26         Engine e0 = e;
     27         Adaptor a(std::move(e0));
     28         for (unsigned k = 0; k <= Adaptor::table_size; ++k)
     29             e();
     30         assert(a.base() == e);
     31     }
     32 }
     33