Function and function object utilities.
More...
|
|
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.
◆ invoke_result_t
template<typename Fun, typename... Args>
| using ranges::invoke_result_t |
Initial value:
decltype(invoke(std::declval<Fun>(), std::declval<Args>()...))
◆ ref_t
◆ unwrap_reference_t
◆ invocable
template<typename Fun, typename... Args>
| CPP_concept ranges::invocable |
◆ is_invocable_v
template<typename Fn, typename... Args>
| RANGES_INLINE_VAR constexpr bool ranges::is_invocable_v |
|
constexpr |
Initial value:=
Definition invoke.hpp:179
◆ 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:
T)
Definition pipeable.hpp:76
◆ is_pipeable_v< T && >
template<typename T>
| RANGES_INLINE_VAR constexpr bool ranges::is_pipeable_v< T && > |
|
constexpr |
◆ 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>
| CPP_concept ranges::predicate |
Initial value:=
The regular_invocable concept.
◆ regular_invocable
template<typename Fun, typename... Args>
| CPP_concept ranges::regular_invocable |
◆ relation
template<typename R, typename T, typename U>
| CPP_concept ranges::relation |
◆ strict_weak_order
template<typename R, typename T, typename U>
| CPP_concept ranges::strict_weak_order |