Function and function object utilities.
More...
|
template<typename T > |
using | ranges::bind_element_t = meta::_t< bind_element< T > > |
|
template<typename T > |
using | ranges::is_reference_wrapper = meta::bool_< is_reference_wrapper_v< 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 > > |
|
using | ranges::instead = 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 |
|
template<typename Fun , typename... Args> |
| ranges::CPP_requires (invocable_, requires(Fun &&fn)(invoke((Fun &&) fn, std::declval< Args >()...))) |
|
template<typename Fun , typename... Args> |
| ranges::CPP_requires (predicate_, requires(Fun &&fn)(concepts::requires_< convertible_to< decltype(invoke((Fun &&) fn, std::declval< Args >()...)), bool > >)) |
|
|
template<typename Fun , typename... Args> |
CPP_concept | ranges::invocable |
|
template<typename Fun , typename... Args> |
CPP_concept | ranges::regular_invocable |
|
template<typename Fun , typename... Args> |
CPP_concept | ranges::predicate |
|
template<typename R , typename T , typename U > |
CPP_concept | ranges::relation |
|
template<typename R , typename T , typename U > |
CPP_concept | ranges::strict_weak_order |
|
template<typename T > |
RANGES_INLINE_VAR constexpr bool | ranges::is_reference_wrapper_v |
|
template<typename Fn , typename... Args> |
RANGES_INLINE_VAR constexpr bool | ranges::is_invocable_v |
|
template<typename Fn , typename... Args> |
RANGES_INLINE_VAR constexpr bool | ranges::is_nothrow_invocable_v |
|
template<typename T > |
RANGES_INLINE_VAR constexpr bool | ranges::is_pipeable_v = META_IS_BASE_OF(pipeable_base, T) |
|
template<typename T > |
RANGES_INLINE_VAR constexpr bool | ranges::is_pipeable_v< T & > |
|
template<typename T > |
RANGES_INLINE_VAR constexpr bool | ranges::is_pipeable_v< T && > |
|
Function and function object utilities.
◆ ref_t
◆ unwrap_reference_t
◆ invocable
template<typename Fun , typename... Args>
◆ is_invocable_v
template<typename Fn , typename... Args>
RANGES_INLINE_VAR constexpr bool ranges::is_invocable_v |
|
constexpr |
Initial value:=
meta::is_trait<invoke_result<Fn, Args...>>::value
◆ is_nothrow_invocable_v
template<typename Fn , typename... Args>
RANGES_INLINE_VAR constexpr bool ranges::is_nothrow_invocable_v |
|
constexpr |
Initial value:=
detail::is_nothrow_invocable_impl_<is_invocable_v<Fn, Args...>>::template apply<
Fn, Args...>()
◆ is_pipeable_v< T & >
template<typename T >
RANGES_INLINE_VAR constexpr bool ranges::is_pipeable_v< T & > |
|
constexpr |
Initial value:= META_IS_BASE_OF(pipeable_base,
T)
◆ is_pipeable_v< T && >
template<typename T >
RANGES_INLINE_VAR constexpr bool ranges::is_pipeable_v< T && > |
|
constexpr |
Initial value:= META_IS_BASE_OF(pipeable_base,
T)
◆ is_reference_wrapper_v
template<typename T >
RANGES_INLINE_VAR constexpr bool ranges::is_reference_wrapper_v |
|
constexpr |
Initial value:=
detail::is_reference_wrapper_v<detail::decay_t<T>>
◆ predicate
template<typename Fun , typename... Args>
Initial value:=
The regular_invocable concept.
◆ regular_invocable
template<typename Fun , typename... Args>
◆ relation
template<typename R , typename T , typename U >
◆ strict_weak_order
template<typename R , typename T , typename U >