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

Public Types

template<typename Rng , typename... Args>
using insert_result_t = decltype(insert(std::declval< Rng >(), std::declval< Args >()...))
 

Public Member Functions

template<typename Rng , typename I , typename S >
insert_result_t< Rng, I, S > operator() (Rng &&rng, I i, S j) const
 
template<typename Rng , typename I , typename N , typename T >
insert_result_t< Rng, I, N, T > operator() (Rng &&rng, I p, N n, T &&t) const
 
template<typename Rng , typename I , typename Rng2 >
insert_result_t< Rng, I, Rng2operator() (Rng &&rng, I p, Rng2 &&rng2) const
 
template<typename Rng , typename I , typename T >
insert_result_t< Rng, I, std::initializer_list< T > & > operator() (Rng &&rng, I p, std::initializer_list< T > rng2) const
 
template<typename Rng , typename I , typename T >
insert_result_t< Rng, I, T > operator() (Rng &&rng, I p, T &&t) const
 
template<typename Rng , typename P , typename I , typename S >
insert_result_t< Rng, P, I, S > operator() (Rng &&rng, P p, I i, S j) const
 
template<typename Rng , typename Rng2 >
insert_result_t< Rng, Rng2operator() (Rng &&rng, Rng2 &&rng2) const
 
template<typename Rng , typename T >
insert_result_t< Rng, std::initializer_list< T > & > operator() (Rng &&rng, std::initializer_list< T > rng2) const
 
template<typename Rng , typename T >
insert_result_t< Rng, T > operator() (Rng &&rng, T &&t) const
 

Member Function Documentation

◆ operator()() [1/9]

template<typename Rng , typename I , typename S >
insert_result_t<Rng, I, S> ranges::insert_fn::operator() ( Rng &&  rng,
i,
j 
) const
Precondition
requires range<Rng> && sentinel_for<S, I> && (!range<S>) //

◆ operator()() [2/9]

template<typename Rng , typename I , typename N , typename T >
insert_result_t<Rng, I, N, T> ranges::insert_fn::operator() ( Rng &&  rng,
p,
n,
T &&  t 
) const
Precondition
requires range<Rng> && input_iterator<I> && integral<N> && (!range<T>) && constructible_from<range_value_t<Rng>, T>

◆ operator()() [3/9]

template<typename Rng , typename I , typename Rng2 >
insert_result_t<Rng, I, Rng2> ranges::insert_fn::operator() ( Rng &&  rng,
p,
Rng2 &&  rng2 
) const
Precondition
requires range<Rng> && input_iterator<I> && range<Rng2>

◆ operator()() [4/9]

template<typename Rng , typename I , typename T >
insert_result_t<Rng, I, std::initializer_list<T> &> ranges::insert_fn::operator() ( Rng &&  rng,
p,
std::initializer_list< T >  rng2 
) const
Precondition
requires range<Rng> && input_iterator<I>

◆ operator()() [5/9]

template<typename Rng , typename I , typename T >
insert_result_t<Rng, I, T> ranges::insert_fn::operator() ( Rng &&  rng,
p,
T &&  t 
) const
Precondition
requires range<Rng> && input_iterator<I> && (!range<T>) && constructible_from<range_value_t<Rng>, T>

◆ operator()() [6/9]

template<typename Rng , typename P , typename I , typename S >
insert_result_t<Rng, P, I, S> ranges::insert_fn::operator() ( Rng &&  rng,
p,
i,
j 
) const
Precondition
requires range<Rng> && input_iterator<P> && sentinel_for<S, I> && (!range<S>) //

◆ operator()() [7/9]

template<typename Rng , typename Rng2 >
insert_result_t<Rng, Rng2> ranges::insert_fn::operator() ( Rng &&  rng,
Rng2 &&  rng2 
) const
Precondition
requires range<Rng> && range<Rng2>

◆ operator()() [8/9]

template<typename Rng , typename T >
insert_result_t<Rng, std::initializer_list<T> &> ranges::insert_fn::operator() ( Rng &&  rng,
std::initializer_list< T >  rng2 
) const
Precondition
requires range<Rng>

◆ operator()() [9/9]

template<typename Rng , typename T >
insert_result_t<Rng, T> ranges::insert_fn::operator() ( Rng &&  rng,
T &&  t 
) const
Precondition
requires range<Rng> && (!range<T>) && constructible_from<range_value_t<Rng>, T>