Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::v3::sample_fn Class Reference

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