Range-v3
Range algorithms, views, and actions for the Standard Library
Actions

Description

Eager, mutating, composable algorithms.

Classes

struct  ranges::make_action_closure_fn
 
struct  ranges::push_back_fn
 
struct  ranges::push_front_fn
 

Typedefs

template<typename Cont , typename Rng >
using ranges::insert_t = decltype(static_cast< void >(ranges::insert(std::declval< Cont & >(), std::declval< sentinel_t< Cont > >(), std::declval< Rng >())))
 
template<typename Cont , typename T >
using ranges::push_back_t = decltype(static_cast< void >(unwrap_reference(std::declval< Cont & >()).push_back(std::declval< T >())))
 
template<typename Cont , typename T >
using ranges::push_front_t = decltype(static_cast< void >(unwrap_reference(std::declval< Cont & >()).push_front(std::declval< T >())))
 

Functions

template<typename Cont , typename Rng >
insert_t< Cont, Rng > ranges::push_back (Cont &&cont, Rng &&rng)
 
template<typename Cont , typename T >
push_back_t< Cont, T > ranges::push_back (Cont &&cont, T &&t)
 
template<typename Cont , typename Rng >
insert_t< Cont, Rng > ranges::push_front (Cont &&cont, Rng &&rng)
 
template<typename Cont , typename T >
push_front_t< Cont, T > ranges::push_front (Cont &&cont, T &&t)
 

Variables

constexpr adl_erase_detail::erase_fn ranges::erase {}
 
constexpr adl_insert_detail::insert_fn insert {}
 
template<typename ActionFn , typename Rng >
concept ranges::invocable_action_closure
 
template<typename ActionFn , typename Rng >
concept ranges::invocable_action_closure__concept_ = !derived_from<invoke_result_t<ActionFn, Rng>, detail::action_closure_base_>
 
constexpr make_action_closure_fn ranges::make_action_closure {}
 

Function Documentation

◆ push_back() [1/2]

template<typename Cont , typename Rng >
insert_t<Cont, Rng> ranges::push_back ( Cont &&  cont,
Rng &&  rng 
)

#include <range/v3/action/push_back.hpp>

Precondition
requires lvalue_container_like<Cont> && range<Rng>

References ranges::unwrap_reference.

◆ push_back() [2/2]

template<typename Cont , typename T >
push_back_t<Cont, T> ranges::push_back ( Cont &&  cont,
T &&  t 
)

#include <range/v3/action/push_back.hpp>

Precondition
requires lvalue_container_like<Cont> && (!range<T>) && constructible_from<range_value_t<Cont>, T>

◆ push_front() [1/2]

template<typename Cont , typename Rng >
insert_t<Cont, Rng> ranges::push_front ( Cont &&  cont,
Rng &&  rng 
)

#include <range/v3/action/push_front.hpp>

Precondition
requires lvalue_container_like<Cont> && range<Rng>

References ranges::unwrap_reference.

◆ push_front() [2/2]

template<typename Cont , typename T >
push_front_t<Cont, T> ranges::push_front ( Cont &&  cont,
T &&  t 
)

#include <range/v3/action/push_front.hpp>

Precondition
requires lvalue_container_like<Cont> && (!range<T>) && constructible_from<range_value_t<Cont>, T>

Variable Documentation

◆ invocable_action_closure

template<typename ActionFn , typename Rng >
concept ranges::invocable_action_closure

#include <range/v3/action/action.hpp>

Initial value:
=
invocable<ActionFn, Rng> &&
ranges::invocable_action_closure__concept_<ActionFn, Rng>

◆ make_action_closure

constexpr make_action_closure_fn ranges::make_action_closure {}
constexpr