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

Public Member Functions

template<typename R >
CPP_TEMPLATE_AUX_0 c (requires borrowed_range< R >) ccconstexpr auto operator()(R &&r) const -> subrange< iterator_t< R >, sentinel_t< R >,(sized_range< R >||sized_sentinel_for< sentinel_t< R >, iterator_t< R >>) ? subrange_kind::sized :subrange_kind::unsized >
 
template<typename R >
CPP_TEMPLATE_AUX_0 c (requires borrowed_range< R >) ccconstexpr subrange< iterator_t< R >
 
template<typename I , typename S >
CPP_TEMPLATE_AUX_0 c (requires input_or_output_iterator< I > &&sentinel_for< S, I >) ccconstexpr subrange< I
 
template<typename I , typename S >
constexpr subrange< I, S > operator() (I i, S s) const
 
CPP_TEMPLATE_AUX_0 subrange_kind::sized operator() (I i, S s, detail::iter_size_t< I > n) const
 
CPP_TEMPLATE_AUX_0 subrange_kind::sized operator() (R &&r, detail::iter_size_t< iterator_t< R >> n) const
 

Public Attributes

CPP_TEMPLATE_AUX_0 S
 
CPP_TEMPLATE_AUX_0 sentinel_t< R >
 

Related Functions

(Note that these are not member functions.)

constexpr make_subrange_fn make_subrange {}