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

Public Member Functions

template<typename I >
CPP_TEMPLATE_AUX_0 c (requires input_or_output_iterator< I >) ccconstexpr void operator()(counted_iterator< I > &i
 
template<typename I >
CPP_TEMPLATE_AUX_0 c (requires input_or_output_iterator< I >) ccconstexpr void operator()(I &i
 
template<typename I , typename S >
CPP_TEMPLATE_AUX_0 c (requires sentinel_for< S, I >) ccconstexpr iter_difference_t< I > operator()(I &it
 
template<typename I , typename S >
CPP_TEMPLATE_AUX_0 c (requires sentinel_for< S, I >) ccconstexpr void operator()(I &i
 

Public Attributes

CPP_TEMPLATE_AUX_0 iter_difference_t< I > n const
 
CPP_TEMPLATE_AUX_0 S s const
 
CPP_TEMPLATE_AUX_0 iter_difference_t< I > S bound const
 
CPP_TEMPLATE_AUX_0 iter_difference_t< I > n
 

Member Data Documentation

◆ const [1/3]

CPP_TEMPLATE_AUX_0 iter_difference_t< I > n ranges::advance_fn::const
Initial value:
{
advance_fn::n_(i, n, iterator_tag_of<I>{})

◆ const [2/3]

CPP_TEMPLATE_AUX_0 S s ranges::advance_fn::const
Initial value:
{
advance_fn::to_(
i, static_cast<S &&>(s), meta::bool_<assignable_from<I &, S>>())
CPP_TEMPLATE_AUX_0 s(requires input_iterator< I > &&sentinel_for< S, I > &&weakly_incrementable< O > &&indirectly_copyable< I, O > &&uniform_random_bit_generator< std::remove_reference_t< Gen >> &&(random_access_iterator< O >||forward_iterator< I >||sized_sentinel_for< S, I >)) sssample_result< I
function template sample
std::integral_constant< bool, B > bool_
An integral constant wrapper for bool.
Definition: meta.hpp:168

◆ const [3/3]

CPP_TEMPLATE_AUX_0 iter_difference_t<I> S bound ranges::advance_fn::const
Initial value:
{
return advance_fn::bounded_(it,
n,
static_cast<S &&>(bound),
sentinel_tag_of<S, I>(),
iterator_tag_of<I>())