Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::actions::shuffle_fn Struct Reference

Synopsis of methods

constexpr shuffle_fn shuffle {}
 

Public Member Functions

template<typename Gen >
constexpr auto operator() (Gen &&gen) const
 
template<typename Gen >
constexpr auto operator() (Gen &gen) const
 
template<typename Rng , typename Gen >
Rng operator() (Rng &&rng, Gen &&gen) const
 

Methods

◆ shuffle

constexpr shuffle_fn shuffle {}
related
See also
action_closure

Member Function Documentation

◆ operator()() [1/3]

template<typename Gen >
constexpr auto ranges::actions::shuffle_fn::operator() ( Gen &&  gen) const
constexpr
Precondition
requires uniform_random_bit_generator<Gen>

◆ operator()() [2/3]

template<typename Gen >
constexpr auto ranges::actions::shuffle_fn::operator() ( Gen &  gen) const
constexpr
Precondition
requires uniform_random_bit_generator<Gen>

◆ operator()() [3/3]

template<typename Rng , typename Gen >
Rng ranges::actions::shuffle_fn::operator() ( Rng &&  rng,
Gen &&  gen 
) const
Precondition
requires random_access_range<Rng> && permutable<iterator_t<Rng>> && uniform_random_bit_generator<std::remove_reference_t<Gen>> && convertible_to<invoke_result_t<Gen &>, range_difference_t<Rng>>