Classes | |
| class | BindBackFunction | 
| class | BindBackFunction< meta::ListV< indices... >, F, BoundArgs... > | 
| class | BindFrontFunction | 
| class | BindFrontFunction< meta::ListV< indices... >, F, BoundArgs... > | 
| class | ChainFunction | 
| class | ComposeFunction | 
| struct | FlipFunction | 
| class | GeneratorIterator | 
| class | GeneratorPromiseBase | 
| struct | IndexDispatch | 
| struct | IndexDispatchImpl | 
| struct | IntoVoidFunction | 
| struct | InvokeFunction | 
| struct | InvokeRFunction | 
| struct | MakeDeferredFunction | 
| class | MakeDeferredFunctor | 
| class | NotFnFunction | 
| struct | OverloadFunction | 
| struct | OverloadImpl | 
| class | PipedFunction | 
| struct | UncurryFunction | 
| class | UncurryImpl | 
| struct | UnpackFunction | 
| struct | UnpackFunction< meta::ListV< values... > > | 
| struct | Value | 
| struct | ValueFunction | 
| struct | YCombinator | 
| struct | YCombinatorFunction | 
Concepts | |
| concept | TupleInvoceable | 
| concept | CanUncurry | 
Typedefs | |
| template<typename Ref, typename Value> | |
| using | GeneratorValue = meta::Conditional<concepts::LanguageVoid<Value>, meta::RemoveCVRef<Ref>, Value> | 
| template<typename Ref, typename Value> | |
| using | GeneratorReference = meta::Conditional<concepts::LanguageVoid<Value>, Ref&&, Ref> | 
| template<typename Ref> | |
| using | GeneratorYield = meta::Conditional<concepts::Reference<Ref>, Ref, Ref const&> | 
| template<typename... Args> | |
| using | AsTuple = decltype(detail::do_tuple_cat(di::declval<Args>()...)) | 
Functions | |
| template<concepts::MemberFunctionPointer F, typename FirstArg, typename... Args>  requires (concepts::BaseOf<meta::MemberPointerClass<F>, meta::Decay<FirstArg>>)  | |
| constexpr auto | invoke_impl (F f, FirstArg &&first_arg, Args &&... args) -> decltype((util::forward< FirstArg >(first_arg).*f)(util::forward< Args >(args)...)) | 
| template<concepts::MemberFunctionPointer F, typename FirstArg, typename... Args>  requires (concepts::ReferenceWrapper<meta::Decay<FirstArg>>)  | |
| constexpr auto | invoke_impl (F f, FirstArg &&first_arg, Args &&... args) -> decltype((first_arg.get().*f)(util::forward< Args >(args)...)) | 
| template<concepts::MemberFunctionPointer F, typename FirstArg, typename... Args> | |
| constexpr auto | invoke_impl (F f, FirstArg &&first_arg, Args &&... args) -> decltype(((*util::forward< FirstArg >(first_arg)).*f)(util::forward< Args >(args)...)) | 
| template<concepts::MemberObjectPointer F, typename Arg>  requires (concepts::BaseOf<meta::MemberPointerClass<F>, meta::Decay<Arg>>)  | |
| constexpr auto | invoke_impl (F f, Arg &&arg) -> decltype(util::forward< Arg >(arg).*f) | 
| template<concepts::MemberObjectPointer F, typename Arg>  requires (concepts::ReferenceWrapper<meta::Decay<Arg>>)  | |
| constexpr auto | invoke_impl (F f, Arg &&arg) -> decltype(arg.get().*f) | 
| template<concepts::MemberObjectPointer F, typename Arg> | |
| constexpr auto | invoke_impl (F f, Arg &&arg) -> decltype((*util::forward< Arg >(arg)).*f) | 
| template<typename F, typename... Args> | |
| constexpr auto | invoke_impl (F &&f, Args &&... args) -> decltype(util::forward< F >(f)(util::forward< Args >(args)...)) | 
| template<typename... Funs> | |
| OverloadImpl (Funs &&...) -> OverloadImpl< Funs... > | |
| template<concepts::TupleLike Tup> | |
| constexpr auto | tuple_forward (Tup &&tuple) | 
| template<typename T> | |
| constexpr auto | tuple_forward (T &&value) | 
| template<typename... Args> | |
| constexpr auto | do_tuple_cat (Args &&... args) | 
| using di::function::detail::AsTuple = decltype(detail::do_tuple_cat(di::declval<Args>()...)) | 
| using di::function::detail::GeneratorReference = meta::Conditional<concepts::LanguageVoid<Value>, Ref&&, Ref> | 
| using di::function::detail::GeneratorValue = meta::Conditional<concepts::LanguageVoid<Value>, meta::RemoveCVRef<Ref>, Value> | 
| using di::function::detail::GeneratorYield = meta::Conditional<concepts::Reference<Ref>, Ref, Ref const&> | 
      
  | 
  constexpr | 
      
  | 
  constexpr | 
      
  | 
  constexpr | 
      
  | 
  constexpr | 
      
  | 
  constexpr | 
      
  | 
  constexpr | 
      
  | 
  constexpr | 
      
  | 
  constexpr | 
| di::function::detail::OverloadImpl | ( | Funs && | ... | ) | -> OverloadImpl< Funs... > | 
      
  | 
  constexpr | 
      
  | 
  constexpr |