![]() |
LeechCraft
0.6.70-13729-g7046a9d2a7
Modular cross-platform feature rich live environment.
|
Typedefs | |
| template<typename T > | |
| using | Dumbify = typename Dumbifier< T >::Type_t |
| template<typename T > | |
| using | WrapVoidResult_t = typename WrapVoidResult< T >::Type |
| template<typename T > | |
| using | VoidSafe = std::conditional_t< std::is_same< T, void > {}, ReturnsVoid, T > |
| template<typename F > | |
| using | RetTypeRaw_t = std::tuple_element_t< 0, decltype(TypeGetter(*static_cast< F * >(nullptr)))> |
| using | DefaultScopeGuardDeleter = std::function< void()> |
Functions | |
| template<typename F , template< typename... > class List, typename... Args> | |
| constexpr List< Args... > | GetInvokablePartImpl (int, List< Args... >, typename std::result_of< F(Args...)>::type *=nullptr) |
| template<typename F , template< typename... > class List> | |
| constexpr Typelist | GetInvokablePartImpl (float, List<>) |
| template<typename F , template< typename... > class List, typename... Args> | |
| constexpr auto | GetInvokablePartImpl (float, List< Args... > list) -> typename InvokableType< F, decltype(Reverse(Tail(Reverse(list))))>::RetType_t |
| template<typename F , typename... Args> | |
| constexpr auto | GetInvokablePart () -> decltype(GetInvokablePartImpl< F >(0, Typelist< Args... > |
| template<template< typename... > class List, typename... Args> | |
| constexpr size_t | Length (List< Args... >) |
| template<typename T > | |
| constexpr bool | IsFunctorImpl (int, typename InstanceFunctor< T >::UndefinedTag *=nullptr) |
| template<typename T > | |
| constexpr bool | IsFunctorImpl (float) |
| template<template< typename... > class Monad, typename... Args1, typename... Args2> | |
| constexpr bool | IsCompatibleMonadImpl (const Monad< Args1... > *, const Monad< Args2... > *, int) |
| template<typename T1 , typename T2 > | |
| constexpr bool | IsCompatibleMonadImpl (const T1 *, const T2 *,...) |
| template<typename T > | |
| constexpr T * | declptr () noexcept |
| template<typename T1 , typename T2 > | |
| constexpr bool | IsCompatibleMonad () |
| template<typename T > | |
| constexpr bool | IsMonadPlusImpl (int, typename InstanceMonadPlus< T >::UndefinedTag *=nullptr) |
| template<typename T > | |
| constexpr bool | IsMonadPlusImpl (float) |
| constexpr size_t | NewTypeHash (const char *str) |
| template<typename Res , typename T > | |
| void | Append (Res &result, T &&val, decltype(result.push_back(std::forward< T >(val))) *=nullptr) |
| template<typename Res , typename T > | |
| void | Append (Res &result, T &&val, decltype(result.insert(std::forward< T >(val))) *=nullptr) |
| template<typename C > | |
| constexpr bool | IsSimpleContainer () |
| template<template< typename... > class Fallback, bool ForceFallback, typename Container , typename F > | |
| auto | MapImpl (Container &&c, F f) |
| template<typename R , typename... Args> | |
| std::tuple< VoidSafe< R >, Args... > | TypeGetter (R(*)(Args...)) |
| template<typename F > | |
| auto | TypeGetter (F &&f) -> decltype(TypeGetter(+f)) |
| template<typename C , typename R , typename... Args> | |
| std::tuple< VoidSafe< R >, Args... > | TypeGetter (R(C::*)(Args...) const) |
| template<class... Ts> | |
| Overloaded (Ts...) -> Overloaded< Ts... > | |
Variables | |
| template<typename T > | |
| constexpr bool | IsNotBrokenSFINAE_v = IsNotBrokenSFINAE<T> {} |
| template<typename C > | |
| decltype(TypeGetter(&C::operator())) | TypeGetter (const C &c) |
| using LC::Util::detail::DefaultScopeGuardDeleter = typedef std::function<void ()> |
| using LC::Util::detail::Dumbify = typedef typename Dumbifier<T>::Type_t |
Definition at line 86 of file dropargs.h.
| using LC::Util::detail::RetTypeRaw_t = typedef std::tuple_element_t<0, decltype (TypeGetter (*static_cast<F*> (nullptr)))> |
Definition at line 66 of file typegetter.h.
| using LC::Util::detail::VoidSafe = typedef std::conditional_t< std::is_same<T, void> {}, ReturnsVoid, T > |
Definition at line 48 of file typegetter.h.
| using LC::Util::detail::WrapVoidResult_t = typedef typename WrapVoidResult<T>::Type |
| void LC::Util::detail::Append | ( | Res & | result, |
| T && | val, | ||
| decltype(result.push_back(std::forward< T >(val))) * | = nullptr |
||
| ) |
Definition at line 91 of file prelude.h.
Referenced by LC::Util::Concat(), LC::Util::Filter(), and MapImpl().
Here is the caller graph for this function:| void LC::Util::detail::Append | ( | Res & | result, |
| T && | val, | ||
| decltype(result.insert(std::forward< T >(val))) * | = nullptr |
||
| ) |
|
noexcept |
| constexpr auto LC::Util::detail::GetInvokablePart | ( | ) | -> decltype (GetInvokablePartImpl<F> (0, Typelist<Args...> |
Definition at line 68 of file dropargs.h.
Referenced by LC::Util::detail::Dropper< F >::operator()().
Here is the caller graph for this function:| constexpr List<Args...> LC::Util::detail::GetInvokablePartImpl | ( | int | , |
| List< Args... > | , | ||
| typename std::result_of< F(Args...)>::type * | = nullptr |
||
| ) |
Definition at line 41 of file dropargs.h.
| constexpr Typelist LC::Util::detail::GetInvokablePartImpl | ( | float | , |
| List<> | |||
| ) |
Definition at line 47 of file dropargs.h.
| constexpr auto LC::Util::detail::GetInvokablePartImpl | ( | float | , |
| List< Args... > | list | ||
| ) | -> typename InvokableType<F, decltype (Reverse (Tail (Reverse (list))))>::RetType_t |
Definition at line 56 of file dropargs.h.
| constexpr bool LC::Util::detail::IsCompatibleMonad | ( | ) |
Definition at line 77 of file monad.h.
References IsCompatibleMonadImpl().
Referenced by LC::Util::Bind().
Here is the call graph for this function:
Here is the caller graph for this function:| constexpr bool LC::Util::detail::IsCompatibleMonadImpl | ( | const Monad< Args1... > * | , |
| const Monad< Args2... > * | , | ||
| int | |||
| ) |
Definition at line 56 of file monad.h.
Referenced by IsCompatibleMonad().
Here is the caller graph for this function:| constexpr bool LC::Util::detail::IsCompatibleMonadImpl | ( | const T1 * | , |
| const T2 * | , | ||
| ... | |||
| ) |
| constexpr bool LC::Util::detail::IsFunctorImpl | ( | int | , |
| typename InstanceFunctor< T >::UndefinedTag * | = nullptr |
||
| ) |
| constexpr bool LC::Util::detail::IsFunctorImpl | ( | float | ) |
| constexpr bool LC::Util::detail::IsMonadPlusImpl | ( | int | , |
| typename InstanceMonadPlus< T >::UndefinedTag * | = nullptr |
||
| ) |
Definition at line 49 of file monadplus.h.
| constexpr bool LC::Util::detail::IsMonadPlusImpl | ( | float | ) |
Definition at line 55 of file monadplus.h.
| constexpr bool LC::Util::detail::IsSimpleContainer | ( | ) |
| constexpr size_t LC::Util::detail::Length | ( | List< Args... > | ) |
Definition at line 74 of file dropargs.h.
Referenced by LC::Util::detail::Dropper< F >::operator()().
Here is the caller graph for this function:| auto LC::Util::detail::MapImpl | ( | Container && | c, |
| F | f | ||
| ) |
Definition at line 142 of file prelude.h.
References Append(), and LC::Util::oral::sph::f.
Here is the call graph for this function:| constexpr size_t LC::Util::detail::NewTypeHash | ( | const char * | str | ) |
| LC::Util::detail::Overloaded | ( | Ts... | ) | -> Overloaded< Ts... > |
| std::tuple<VoidSafe<R>, Args...> LC::Util::detail::TypeGetter | ( | R(*)(Args...) | ) |
| auto LC::Util::detail::TypeGetter | ( | F && | f | ) | -> decltype(TypeGetter(+f)) |
| std::tuple< VoidSafe< R >, Args... > LC::Util::detail::TypeGetter | ( | R(C::*)(Args...) | const | ) |
| constexpr bool LC::Util::detail::IsNotBrokenSFINAE_v = IsNotBrokenSFINAE<T> {} |
| decltype(TypeGetter (&C::operator ())) LC::Util::detail::TypeGetter(const C &c) |
Definition at line 63 of file typegetter.h.