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>() && !Range<S>())>
auto operator() (Rng &&rng, I i, S j) const -> decltype(insert(static_cast< Rng &&>(rng), std::move(i), std::move(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), std::move(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), std::move(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), std::move(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), std::move(p), n, static_cast< T &&>(t)))
 
template<typename Rng , typename P , typename I , typename S , requires = (Range<Rng>() && Iterator<P>() && Sentinel<S, I>() && !Range<S>())>
auto operator() (Rng &&rng, P p, I i, S j) const -> decltype(insert(static_cast< Rng &&>(rng), std::move(p), std::move(i), std::move(j)))