ranges::v3::sample_fn Class Reference
Algorithms

## Public Member Functions

template<typename I , typename S , typename O , typename Gen = detail::default_random_engine&, requires = ( (ForwardIterator<I>() || SizedSentinel<S, I>()) && Constraint<I, S, O, Gen>())>
tagged_pair< tag::in(I), tag::out(O)> | operator() (I first, S last, O out, difference_type_t< I > n, Gen &&gen=detail::get_random_engine()) const
template<typename I , typename S , typename O , typename Gen = detail::default_random_engine&, requires = (RandomAccessIterator<O>() && !(ForwardIterator<I>() || SizedSentinel<S, I>()) && Constraint<I, S, O, Gen>())>
tagged_pair< tag::in(I), tag::out(O)> | operator() (I first, S last, O out, difference_type_t< I > n, Gen &&gen=detail::get_random_engine()) const
template<typename I , typename S , typename ORng , typename Gen = detail::default_random_engine&, requires = ( (ForwardIterator<I>() || SizedSentinel<S, I>()) && (ForwardRange<ORng>() || SizedRange<ORng>()) && Constraint<I, S, iterator_t<ORng>, Gen>())>
tagged_pair< tag::in(I), tag::out(safe_iterator_t< ORng >)> | operator() (I first, S last, ORng &&out, Gen &&gen=detail::get_random_engine()) const
template<typename I , typename S , typename ORng , typename Gen = detail::default_random_engine&, requires = (RandomAccessIterator<iterator_t<ORng>>() && !(ForwardIterator<I>() || SizedSentinel<S, I>()) && (ForwardRange<ORng>() || SizedRange<ORng>()) && Constraint<I, S, iterator_t<ORng>, Gen>())>
tagged_pair< tag::in(I), tag::out(safe_iterator_t< ORng >)> | operator() (I first, S last, ORng &&out, Gen &&gen=detail::get_random_engine()) const
template<typename Rng , typename O , typename Gen = detail::default_random_engine&, requires = (RandomAccessIterator<O>() && !(ForwardRange<Rng>() || SizedRange<Rng>()) && Constraint<iterator_t<Rng>, sentinel_t<Rng>, O, Gen>())>
tagged_pair< tag::in(safe_iterator_t< Rng >), tag::out(O)> | operator() (Rng &&rng, O out, range_difference_type_t< Rng > n, Gen &&gen=detail::get_random_engine()) const
template<typename Rng , typename O , typename Gen = detail::default_random_engine&, requires = ( (ForwardRange<Rng>() || SizedRange<Rng>()) && Constraint<iterator_t<Rng>, sentinel_t<Rng>, O, Gen>())>
tagged_pair< tag::in(safe_iterator_t< Rng >), tag::out(O)> | operator() (Rng &&rng, O out, range_difference_type_t< Rng > n, Gen &&gen=detail::get_random_engine()) const
template<typename IRng , typename ORng , typename Gen = detail::default_random_engine&, requires = (RandomAccessIterator<iterator_t<ORng>>() && !(ForwardRange<IRng>() || SizedRange<IRng>()) && (ForwardRange<ORng>() || SizedRange<ORng>()) && Constraint<iterator_t<IRng>, sentinel_t<IRng>, iterator_t<ORng>, Gen>())>
tagged_pair< tag::in(safe_iterator_t< IRng >), tag::out(safe_iterator_t< ORng >)> | operator() (IRng &&rng, ORng &&out, Gen &&gen=detail::get_random_engine()) const
template<typename IRng , typename ORng , typename Gen = detail::default_random_engine&, requires = ( (ForwardRange<IRng>() || SizedRange<IRng>()) && (ForwardRange<ORng>() || SizedRange<ORng>()) && Constraint<iterator_t<IRng>, sentinel_t<IRng>, iterator_t<ORng>, Gen>())>
tagged_pair< tag::in(safe_iterator_t< IRng >), tag::out(safe_iterator_t< ORng >)> | operator() (IRng &&rng, ORng &&out, Gen &&gen=detail::get_random_engine()) const