Eager, mutating, composable algorithms.
|
template<typename T , std::size_t N> |
constexpr auto | ranges::push_back_fn::operator() (T(&val)[N]) const |
|
template<typename T > |
constexpr auto | ranges::push_back_fn::operator() (T &&val) const |
|
template<typename T > |
constexpr auto | ranges::push_back_fn::operator() (std::initializer_list< T > val) const |
|
template<typename Rng , typename T > |
auto | ranges::push_back_fn::operator() (Rng &&rng, T &&t) const -> Rng requires input_range< Rng > &&can_push_back_< Rng, T > &&(range< T >||constructible_from< range_value_t< Rng >, T >) |
|
template<typename Rng , typename T > |
auto | ranges::push_back_fn::operator() (Rng &&rng, std::initializer_list< T > t) const -> Rng requires input_range< Rng > &&can_push_back_< Rng, std::initializer_list< T >> &&constructible_from< range_value_t< Rng >, T const &> |
|
|
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_ = !derived_from<invoke_result_t<ActionFn, Rng>, detail::action_closure_base_> |
|
constexpr make_action_closure_fn | ranges::make_action_closure {} |
|
constexpr adl_push_back_detail::push_back_fn | actions::push_back {} |
|
◆ 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_ < ActionFn, Rng >
◆ make_action_closure