|
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 >()...))) |
| \concept invocable_ More...
|
|
template<typename Fun , typename... Args> |
| ranges::CPP_requires (predicate_, requires(Fun &&fn)(concepts::requires_< convertible_to< decltype(invoke((Fun &&) fn, std::declval< Args >()...)), bool >>)) |
| \concept predicate_ More...
|
|
|
template<typename Fun , typename... Args> |
CPP_concept | ranges::invocable |
| \concept invocable More...
|
|
template<typename Fun , typename... Args> |
CPP_concept | ranges::regular_invocable |
| \concept regular_invocable More...
|
|
template<typename Fun , typename... Args> |
CPP_concept | ranges::predicate |
| \concept predicate More...
|
|
template<typename R , typename T , typename U > |
CPP_concept | ranges::relation |
| \concept relation More...
|
|
template<typename R , typename T , typename U > |
CPP_concept | ranges::strict_weak_order |
| \concept strict_weak_order More...
|
|
template<typename T > |
constexpr RANGES_INLINE_VAR bool | ranges::is_reference_wrapper_v |
|
template<typename Fn , typename... Args> |
constexpr RANGES_INLINE_VAR bool | ranges::is_invocable_v |
|
template<typename Fn , typename... Args> |
constexpr RANGES_INLINE_VAR bool | ranges::is_nothrow_invocable_v |
|
template<typename T > |
constexpr RANGES_INLINE_VAR bool | ranges::is_pipeable_v = META_IS_BASE_OF(pipeable_base, T) |
|
template<typename T > |
constexpr RANGES_INLINE_VAR bool | ranges::is_pipeable_v< T & > |
|
template<typename T > |
constexpr RANGES_INLINE_VAR bool | ranges::is_pipeable_v< T && > |
|
Function and function object utilities.