|
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 {} |
|