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

Synopsis of methods

constexpr action< slice_fnslice {}
 

Public Types

template<typename A >
using is_end_type = meta::or_< meta::is< A, detail::from_end_ >, std::is_same< A, end_fn > >
 

Public Member Functions

template<typename Rng , typename I = iterator_t<Rng>, requires = (ForwardRange<Rng>() && ErasableRange<Rng, I, I>())>
Rng operator() (Rng &&rng, Diff< Rng > from, Diff< Rng > to) const
 
template<typename Rng , typename I = iterator_t<Rng>, requires = (BidirectionalRange<Rng>() && ErasableRange<Rng, I, I>())>
Rng operator() (Rng &&rng, Diff< Rng > from, detail::from_end_< Diff< Rng >> to) const
 
template<typename Rng , typename I = iterator_t<Rng>, requires = (BidirectionalRange<Rng>() && ErasableRange<Rng, I, I>())>
Rng operator() (Rng &&rng, detail::from_end_< Diff< Rng >> from, detail::from_end_< Diff< Rng >> to) const
 
template<typename Rng , typename I = iterator_t<Rng>, requires = (ForwardRange<Rng>() && ErasableRange<Rng, I, I>())>
Rng operator() (Rng &&rng, Diff< Rng > from, end_fn const &) const
 
template<typename Rng , typename I = iterator_t<Rng>, requires = (BidirectionalRange<Rng>() && ErasableRange<Rng, I, I>())>
Rng operator() (Rng &&rng, detail::from_end_< Diff< Rng >> from, end_fn const &) const