![]() |
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().
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()().
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().
constexpr bool LeechCraft::Util::detail::IsCompatibleMonadImpl | ( | const Monad< Args1... > * | , |
const Monad< Args2... > * | , | ||
int | |||
) |
Definition at line 55 of file monad.h.
Referenced by IsCompatibleMonad().
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()().
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.
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.