Horizon
Namespaces | Functions
shuffle.hpp File Reference
#include <cstdint>
#include <utility>
#include <range/v3/range_fwd.hpp>
#include <range/v3/functional/invoke.hpp>
#include <range/v3/iterator/concepts.hpp>
#include <range/v3/iterator/traits.hpp>
#include <range/v3/range/access.hpp>
#include <range/v3/range/concepts.hpp>
#include <range/v3/range/dangling.hpp>
#include <range/v3/range/traits.hpp>
#include <range/v3/utility/random.hpp>
#include <range/v3/utility/static_const.hpp>
#include <range/v3/utility/swap.hpp>
#include <range/v3/detail/prologue.hpp>
#include <range/v3/detail/epilogue.hpp>

Go to the source code of this file.

Namespaces

 ranges::cpp20
 

Functions

 ranges::template (typename I, typename S, typename Gen=detail::default_random_engine &)(requires random_access_iterator< I > AND sentinel_for< S
 function template shuffle
 
I AND permutable< I > AND uniform_random_bit_generator< std::remove_reference_t< Gen > > AND convertible_to< invoke_result_t< Gen & >, iter_difference_t< I > > I RANGES_FUNC() ranges::shuffle (I const first, S const last, Gen &&gen=detail::get_random_engine())
 
 ranges::template (typename Rng, typename Gen=detail::default_random_engine &)(requires random_access_range< Rng > AND permutable< iterator_t< Rng >> AND uniform_random_bit_generator< std
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.