|  | 
| template<typename F, typename... Args> requires (concepts::ConstructibleFrom<meta::Decay<F>, F> && (concepts::ConstructibleFrom<meta::Decay<Args>, Args> && ...))
 | 
| constexpr auto | bind_back (F &&f, Args &&... args) | 
|  | 
| template<typename F, typename... Args> requires (concepts::ConstructibleFrom<meta::Decay<F>, F> && (concepts::ConstructibleFrom<meta::Decay<Args>, Args> && ...))
 | 
| constexpr auto | bind_front (F &&f, Args &&... args) | 
|  | 
| template<typename F> requires (concepts::ConstructibleFrom<meta::Decay<F>, F>)
 | 
| constexpr auto | chain (F &&f) | 
|  | 
| template<typename F, typename G, typename... Fs> requires (concepts::ConstructibleFrom<meta::Decay<F>, F> && concepts::ConstructibleFrom<meta::Decay<G>, G> && (concepts::ConstructibleFrom<meta::Decay<Fs>, Fs> && ...))
 | 
| constexpr auto | chain (F &&f, G &&g, Fs &&... rest) | 
|  | 
| template<typename F> requires (concepts::ConstructibleFrom<meta::Decay<F>, F>)
 | 
| constexpr auto | compose (F &&f) | 
|  | 
| template<typename F, typename G, typename... Fs> requires (concepts::ConstructibleFrom<meta::Decay<F>, F> && concepts::ConstructibleFrom<meta::Decay<G>, G> && (concepts::ConstructibleFrom<meta::Decay<Fs>, Fs> && ...))
 | 
| constexpr auto | compose (F &&f, G &&g, Fs &&... rest) | 
|  | 
| template<concepts::DecayConstructible F> | 
| constexpr auto | flip (F &&function) | 
|  | 
| template<concepts::DecayConstructible F> | 
| constexpr auto | not_fn (F &&function) | 
|  | 
| template<typename F> requires (concepts::ConstructibleFrom<meta::Decay<F>, F>)
 | 
| constexpr auto | piped (F &&function) | 
|  | 
| template<size_t count, typename F> | 
| constexpr void | template_for (F &&function) | 
|  | 
|  | 
| constexpr auto | as_bool = AsBool {} | 
|  | 
| constexpr auto | between_exclusive = BetweenExclusive {} | 
|  | 
| constexpr auto | between_inclusive = BetweenInclusive {} | 
|  | 
| constexpr auto | bit_and = function::curry_back(BitAnd {}, meta::c_<2ZU>) | 
|  | 
| constexpr auto | compare = function::curry_back(Compare {}, meta::c_<2ZU>) | 
|  | 
| constexpr auto | compare_backwards = function::curry_back(CompareBackwards {}, meta::c_<2ZU>) | 
|  | 
| template<concepts::LanguageFunction T, concepts::Allocator Alloc = platform::DefaultAllocator> | 
| constexpr auto | make_function = function_ns::MakeFunction<T, Alloc> {} | 
|  | 
| constexpr auto | curry = curry_ns::CurryFunction {} | 
|  | 
| constexpr auto | curry_back = curry_back_ns::CurryBackFunction {} | 
|  | 
| constexpr auto | dereference = Dereference {} | 
|  | 
| constexpr auto | equal = curry_back(Equal {}, meta::c_<2ZU>) | 
|  | 
| constexpr auto | equal_or_greater = curry_back(EqualOrGreater {}, meta::c_<2ZU>) | 
|  | 
| constexpr auto | equal_or_less = curry_back(EqualOrLess {}, meta::c_<2ZU>) | 
|  | 
| constexpr auto | greater = curry_back(Greater {}, meta::c_<2ZU>) | 
|  | 
| constexpr auto | identity = Identity {} | 
|  | 
| template<typename R, usize max_index> | 
| constexpr auto | index_dispatch = detail::IndexDispatch<R, max_index> {} | 
|  | 
| constexpr auto | into_void = detail::IntoVoidFunction {} | 
|  | 
| constexpr auto | invoke = function::detail::InvokeFunction {} | 
|  | 
| template<typename R> | 
| constexpr auto | invoke_r = function::detail::InvokeRFunction<R> {} | 
|  | 
| constexpr auto | less = curry_back(Less {}, meta::c_<2ZU>) | 
|  | 
| template<typename T> | 
| constexpr auto | make_deferred = detail::MakeDeferredFunction<T> {} | 
|  | Creates a deferred function object. 
 | 
|  | 
| constexpr auto | minus = function::curry_back(Minus {}, meta::c_<2ZU>) | 
|  | 
| constexpr auto | multiplies = function::curry_back(Multiplies {}, meta::c_<2ZU>) | 
|  | 
| constexpr auto | not_equal = curry_back(NotEqual {}, meta::c_<2ZU>) | 
|  | 
| constexpr auto | overload = detail::OverloadFunction {} | 
|  | 
| constexpr auto | plus = function::curry_back(Plus {}, meta::c_<2ZU>) | 
|  | 
| constexpr auto | proj = di::curry(proj_ns::ProjFunction {}, c_<2ZU>) | 
|  | 
| constexpr tag_invoke_detail::TagInvokeFn | tag_invoke {} | 
|  | 
| constexpr auto | uncurry = detail::UncurryFunction {} | 
|  | 
| template<typename Seq> | 
| constexpr auto | unpack = detail::UnpackFunction<Seq> {} | 
|  | 
| constexpr auto | value = detail::ValueFunction {} | 
|  | 
| constexpr auto | ycombinator = detail::YCombinatorFunction {} | 
|  |