Loading...
Searching...
No Matches
shuffle.hpp File Reference

## Functions

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