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

Public Member Functions

template<typename Rng , typename T , requires = (Range<Rng>() && Constructible<range_value_type_t<Rng>, T>())>
auto operator() (Rng &&rng, T &&t) const -> decltype(insert(static_cast< Rng &&>(rng), static_cast< T &&>(t)))
 
template<typename Rng , typename Rng2 , requires = (Range<Rng>() && Range<Rng2>())>
auto operator() (Rng &&rng, Rng2 &&rng2) const -> decltype(insert(static_cast< Rng &&>(rng), static_cast< Rng2 &&>(rng2)))
 
template<typename Rng , typename T , requires = (Range<Rng>())>
auto operator() (Rng &&rng, std::initializer_list< T > rng2) const -> decltype(insert(static_cast< Rng &&>(rng), rng2))
 
template<typename Rng , typename I , typename S , requires = (Range<Rng>() && Sentinel<S, I>())>
auto operator() (Rng &&rng, I i, S j) const -> decltype(insert(static_cast< Rng &&>(rng), i, j))
 
template<typename Rng , typename I , typename T , requires = (Range<Rng>() && Iterator<I>() && Constructible<range_value_type_t<Rng>, T>())>
auto operator() (Rng &&rng, I p, T &&t) const -> decltype(insert(static_cast< Rng &&>(rng), p, static_cast< T &&>(t)))
 
template<typename Rng , typename I , typename Rng2 , requires = (Range<Rng>() && Iterator<I>() && Range<Rng2>())>
auto operator() (Rng &&rng, I p, Rng2 &&rng2) const -> decltype(insert(static_cast< Rng &&>(rng), p, static_cast< Rng2 &&>(rng2)))
 
template<typename Rng , typename I , typename T , requires = (Range<Rng>() && Iterator<I>())>
auto operator() (Rng &&rng, I p, std::initializer_list< T > rng2) const -> decltype(insert(static_cast< Rng &&>(rng), p, rng2))
 
template<typename Rng , typename I , typename N , typename T , requires = (Range<Rng>() && Iterator<I>() && Integral<N>() && Constructible<range_value_type_t<Rng>, T>())>
auto operator() (Rng &&rng, I p, N n, T &&t) const -> decltype(insert(static_cast< Rng &&>(rng), p, n, static_cast< T &&>(t)))
 
template<typename Rng , typename P , typename I , typename S , requires = (Range<Rng>() && Iterator<P>() && Sentinel<S, I>())>
auto operator() (Rng &&rng, P p, I i, S j) const -> decltype(insert(static_cast< Rng &&>(rng), p, i, j))