![]() |
LeechCraft
0.6.70-10870-g558588d6ec
Modular cross-platform feature rich live environment.
|
Typedefs | |
| template<typename T > | |
| using | Dumbify = typename Dumbifier< T >::Type_t |
| template<template< typename > class F, typename V > | |
| using | MF = typename F< V >::type |
| template<template< template< typename > class, template< typename > class, typename, template< typename, typename > class > class This, template< typename > class KeyMF, template< typename > class ValueMF, typename Iter , template< typename, typename > class PairType, typename KeyType = MF<KeyMF, decltype (Iter {}.key ())>, typename ValueType = MF<ValueMF, decltype (Iter {}.value ())>> | |
| using | IteratorAdaptorBase = boost::iterator_adaptor< This< KeyMF, ValueMF, Iter, PairType >, Iter, PairType< KeyType, ValueType >, boost::use_default, PairType< KeyType, ValueType > > |
| 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()> |
| template<typename R , typename... Args> | |
| using | FixCommonType_t = decltype(FixCommonType< R, Args... >()) |
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<typename T > | |
| constexpr T | Declval () |
| template<typename R , typename... Args> | |
| decltype(auto) constexpr | FixCommonType () |
| template<typename... Vars, typename... Args, typename Common = std::common_type_t<std::result_of_t<detail::VisitorBase<Args...> (Vars&)>...>, typename Res = FixCommonType_t<Common, std::result_of_t<detail::VisitorBase<Args...> (Vars&)>...>> | |
| constexpr Res | DetectCommonType (Typelist< Vars... >, Typelist< Args... >) |
Variables | |
| template<typename T > | |
| constexpr bool | IsNotBrokenSFINAE_v = IsNotBrokenSFINAE<T> {} |
| template<typename C > | |
| decltype(TypeGetter(&C::operator())) | TypeGetter (const C &c) |
| template<typename... Args> | |
| constexpr bool | AllLValueRefs = AllOf<std::is_lvalue_reference, Args...> |
| template<typename... Args> | |
| constexpr bool | AllRValueRefs = AllOf<std::is_rvalue_reference, Args...> |
| template<typename... Args> | |
| constexpr bool | AllConsts = AllOf<std::is_const, Args...> |
| template<typename... Args> | |
| constexpr bool | AllConstsWithoutRefs = AllOf<std::is_const, std::remove_reference_t<Args>...> |
| using LeechCraft::Util::detail::DefaultScopeGuardDeleter = typedef std::function<void ()> |
| using LeechCraft::Util::detail::Dumbify = typedef typename Dumbifier<T>::Type_t |
Definition at line 86 of file dropargs.h.
| using LeechCraft::Util::detail::FixCommonType_t = typedef decltype (FixCommonType<R, Args...> ()) |
| using LeechCraft::Util::detail::IteratorAdaptorBase = typedef boost::iterator_adaptor< This<KeyMF, ValueMF, Iter, PairType>, Iter, PairType<KeyType, ValueType>, boost::use_default, PairType<KeyType, ValueType> > |
| using LeechCraft::Util::detail::MF = typedef typename F<V>::type |
| using LeechCraft::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 LeechCraft::Util::detail::VoidSafe = typedef std::conditional_t< std::is_same<T, void> {}, ReturnsVoid, T > |
Definition at line 48 of file typegetter.h.
| void LeechCraft::Util::detail::Append | ( | Res & | result, |
| T && | val, | ||
| decltype(result.push_back(std::forward< T >(val))) * | = nullptr |
||
| ) |
Definition at line 92 of file prelude.h.
Referenced by LeechCraft::Util::Filter(), and MapImpl().
Here is the caller graph for this function:| void LeechCraft::Util::detail::Append | ( | Res & | result, |
| T && | val, | ||
| decltype(result.insert(std::forward< T >(val))) * | = nullptr |
||
| ) |
|
noexcept |
| constexpr T LeechCraft::Util::detail::Declval | ( | ) |
| constexpr Res LeechCraft::Util::detail::DetectCommonType | ( | Typelist< Vars... > | , |
| Typelist< Args... > | |||
| ) |
| decltype(auto) constexpr LeechCraft::Util::detail::FixCommonType | ( | ) |
| constexpr auto LeechCraft::Util::detail::GetInvokablePart | ( | ) | -> decltype (GetInvokablePartImpl<F> (0, Typelist<Args...> |
Definition at line 68 of file dropargs.h.
Referenced by LeechCraft::Util::detail::Dropper< F >::operator()().
Here is the caller graph for this function:| constexpr List<Args...> LeechCraft::Util::detail::GetInvokablePartImpl | ( | int | , |
| List< Args... > | , | ||
| typename std::result_of< F(Args...)>::type * | = nullptr |
||
| ) |
Definition at line 41 of file dropargs.h.
| constexpr Typelist LeechCraft::Util::detail::GetInvokablePartImpl | ( | float | , |
| List<> | |||
| ) |
Definition at line 47 of file dropargs.h.
| constexpr auto LeechCraft::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 LeechCraft::Util::detail::IsCompatibleMonad | ( | ) |
Definition at line 76 of file monad.h.
References IsCompatibleMonadImpl().
Referenced by LeechCraft::Util::Bind().
Here is the call graph for this function:
Here is the caller graph for this function:| constexpr bool LeechCraft::Util::detail::IsCompatibleMonadImpl | ( | const Monad< Args1... > * | , |
| const Monad< Args2... > * | , | ||
| int | |||
| ) |
Definition at line 55 of file monad.h.
Referenced by IsCompatibleMonad().
Here is the caller graph for this function:| constexpr bool LeechCraft::Util::detail::IsCompatibleMonadImpl | ( | const T1 * | , |
| const T2 * | , | ||
| ... | |||
| ) |
| constexpr bool LeechCraft::Util::detail::IsFunctorImpl | ( | int | , |
| typename InstanceFunctor< T >::UndefinedTag * | = nullptr |
||
| ) |
| constexpr bool LeechCraft::Util::detail::IsFunctorImpl | ( | float | ) |
| constexpr bool LeechCraft::Util::detail::IsMonadPlusImpl | ( | int | , |
| typename InstanceMonadPlus< T >::UndefinedTag * | = nullptr |
||
| ) |
Definition at line 48 of file monadplus.h.
| constexpr bool LeechCraft::Util::detail::IsMonadPlusImpl | ( | float | ) |
Definition at line 54 of file monadplus.h.
| constexpr bool LeechCraft::Util::detail::IsSimpleContainer | ( | ) |
| constexpr size_t LeechCraft::Util::detail::Length | ( | List< Args... > | ) |
Definition at line 74 of file dropargs.h.
Referenced by LeechCraft::Util::detail::Dropper< F >::operator()().
Here is the caller graph for this function:| auto LeechCraft::Util::detail::MapImpl | ( | Container && | c, |
| F | f | ||
| ) |
Definition at line 143 of file prelude.h.
References Append(), and LeechCraft::Util::oral::sph::f.
Here is the call graph for this function:| constexpr size_t LeechCraft::Util::detail::NewTypeHash | ( | const char * | str | ) |
| std::tuple<VoidSafe<R>, Args...> LeechCraft::Util::detail::TypeGetter | ( | R(*)(Args...) | ) |
| auto LeechCraft::Util::detail::TypeGetter | ( | F && | f | ) | -> decltype(TypeGetter(+f)) |
| std::tuple< VoidSafe< R >, Args... > LeechCraft::Util::detail::TypeGetter | ( | R(C::*)(Args...) | const | ) |
| constexpr bool LeechCraft::Util::detail::AllConsts = AllOf<std::is_const, Args...> |
| constexpr bool LeechCraft::Util::detail::AllConstsWithoutRefs = AllOf<std::is_const, std::remove_reference_t<Args>...> |
| constexpr bool LeechCraft::Util::detail::AllLValueRefs = AllOf<std::is_lvalue_reference, Args...> |
| constexpr bool LeechCraft::Util::detail::AllRValueRefs = AllOf<std::is_rvalue_reference, Args...> |
| constexpr bool LeechCraft::Util::detail::IsNotBrokenSFINAE_v = IsNotBrokenSFINAE<T> {} |
| decltype(TypeGetter (&C::operator ())) LeechCraft::Util::detail::TypeGetter(const C &c) |
Definition at line 63 of file typegetter.h.