Range-v3 Range algorithms, views, and actions for the Standard Library |

Synopsis of methods | Public Member Functions | List of all members
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>>`