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

Classes | Typedefs | Functions | Variables
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

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

See also
  make_action_closure_fn

Referenced by ranges::actions::slice_fn::operator()(), and ranges::push_front_fn::operator()().