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 >
requires range< Rng > &&sentinel_for< S, I > &&!range< S > insert_result_t< Rng, I, S > operator() (Rng &&rng, I i, S j) const
 
template<typename Rng , typename I , typename N , typename T >
requires range< Rng > &&input_iterator< I > &&integral< N > &&!range< T > &&constructible_from< range_value_t< Rng >, 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 >
requires range< Rng > &&input_iterator< I > &&range< Rng2 > insert_result_t< Rng, I, Rng2 > operator() (Rng &&rng, I p, Rng2 &&rng2) const
 
template<typename Rng , typename I , typename T >
requires range< Rng > &&input_iterator< I > 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 >
requires range< Rng > &&input_iterator< I > &&!range< T > &&constructible_from< range_value_t< Rng >, T > insert_result_t< Rng, I, T > operator() (Rng &&rng, I p, T &&t) const
 
template<typename Rng , typename P , typename I , typename S >
requires range< Rng > &&input_iterator< P > &&sentinel_for< S, I > &&!range< S > insert_result_t< Rng, P, I, S > operator() (Rng &&rng, P p, I i, S j) const
 
template<typename Rng , typename Rng2 >
requires range< Rng > &&range< Rng2 > insert_result_t< Rng, Rng2 > operator() (Rng &&rng, Rng2 &&rng2) const
 
template<typename Rng , typename T >
requires range< Rng > insert_result_t< Rng, std::initializer_list< T > & > operator() (Rng &&rng, std::initializer_list< T > rng2) const
 
template<typename Rng , typename T >
requires range< Rng > &&!range< T > &&constructible_from< range_value_t< Rng >, T > insert_result_t< Rng, T > operator() (Rng &&rng, T &&t) const