Function and function object utilities.
|
template<typename T > |
using | ranges::bind_element_t = meta::_t< bind_element< T > > |
|
template<typename Fun , typename... Args> |
using | ranges::invoke_result_t = decltype(invoke(std::declval< Fun >(), std::declval< Args >()...)) |
|
template<typename T > |
using | ranges::is_pipeable = meta::bool_< is_pipeable_v< T > > |
|
template<typename T > |
using | ranges::is_reference_wrapper = meta::bool_< is_reference_wrapper_v< T > > |
|
template<typename T > |
using | ranges::is_reference_wrapper_t = meta::_t< is_reference_wrapper< T > > |
|
using | ranges::ordered_less = less |
|
template<typename > |
using | ranges::pipeable = pipeable_base |
|
template<typename T > |
using | ranges::ref_t = decltype(ref(std::declval< T >())) |
|
template<typename T > |
using | ranges::unwrap_reference_t = decltype(unwrap_reference(std::declval< T >())) |
|
|
template<typename T , typename U = meta::if_< std::is_lvalue_reference<T>, std::reference_wrapper<meta::_t<std::remove_reference<T>>>, T &&>> |
U | ranges::bind_forward (meta::_t< std::remove_reference< T >> &t) noexcept |
|
template<typename T > |
T && | ranges::bind_forward (meta::_t< std::remove_reference< T >> &&t) noexcept |
|
| ranges::CPP_PP_CAT (CPP_PP_DEF_, template(typename Fun, typename... Args)) META_CONCEPT CPP_PP_CAT(CPP_PP_DEF_ |
|
| ranges::CPP_PP_CAT (CPP_PP_DEF_, template(typename R, typename T, typename U)) META_CONCEPT CPP_PP_CAT(CPP_PP_DEF_ |
|
|
constexpr compose_fn | ranges::compose {} |
|
constexpr indirect_fn | ranges::indirect {} |
|
concept | ranges::invocable = CPP_PP_CAT( CPP_PP_DEF_IMPL_IS_PAREN_, 0 )( requires (Fun&& fn) ( invoke(static_cast<Fun &&>(fn), std::declval<Args>()...) ) )( requires (Fun&& fn) ( invoke(static_cast<Fun &&>(fn), std::declval<Args>()...) ) ) |
|
constexpr invoke_fn | ranges::invoke {} |
|
template<typename Fn , typename... Args> |
constexpr bool | ranges::is_invocable_v |
|
template<typename Fn , typename... Args> |
constexpr bool | ranges::is_nothrow_invocable_v |
|
template<typename T > |
constexpr bool | ranges::is_pipeable_v = std::is_base_of< pipeable_base, T >::value |
|
template<typename T > |
constexpr bool | ranges::is_pipeable_v< T &&> |
|
template<typename T > |
constexpr bool | ranges::is_pipeable_v< T &> |
|
template<class T > |
constexpr bool | ranges::is_reference_wrapper_v |
|
constexpr make_pipeable_fn | ranges::make_pipeable {} |
|
constexpr not_fn_fn | ranges::not_fn {} |
|
constexpr on_fn | ranges::on {} |
|
constexpr overload_fn | ranges::overload {} |
|
concept | ranges::predicate = CPP_PP_CAT( CPP_PP_DEF_IMPL_IS_PAREN_, 0 )( regular_invocable<Fun )( regular_invocable<Fun, Args...> && convertible_to<invoke_result_t<Fun, Args...>, bool> ) |
|
constexpr protect_fn | ranges::protect {} |
| Protect a callable so that it can be safely used in a bind expression without accidentally becoming a "nested" bind. More...
|
|
constexpr ref_fn | ranges::ref {} |
|
concept | ranges::regular_invocable = CPP_PP_CAT( CPP_PP_DEF_IMPL_IS_PAREN_, 0 )( invocable<Fun )( invocable<Fun, Args...> ) |
|
concept | ranges::relation = CPP_PP_CAT( CPP_PP_DEF_IMPL_IS_PAREN_, 0 )( predicate<R )( predicate<R, T, T> && predicate<R, U, U> && predicate<R, T, U> && predicate<R, U, T> ) |
|
concept | ranges::strict_weak_order = CPP_PP_CAT( CPP_PP_DEF_IMPL_IS_PAREN_, 0 )( relation<R )( relation<R, T, U> ) |
|
constexpr unwrap_reference_fn | ranges::unwrap_reference {} |
|