 |
LeechCraft
0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
|
Go to the documentation of this file.
17 template<
typename R,
typename... Args>
18 std::tuple<R, Args...>
TypeGetter (R (*) (Args...));
23 template<
typename C,
typename R,
typename... Args>
24 std::tuple<R, Args...>
TypeGetter (R (C::*) (Args...)
const);
26 template<
typename C,
typename R,
typename... Args>
27 std::tuple<R, Args...>
TypeGetter (R (C::*) (Args...));
33 template<typename F,
size_t Idx>
34 using
ArgType_t = std::tuple_element_t<Idx + 1, decltype (detail::
TypeGetter (*static_cast<F*> (
nullptr)))>;
37 using
RetType_t = std::tuple_element_t<0, decltype (detail::
TypeGetter (*static_cast<F*> (
nullptr)))>;
46 template<
typename R,
typename C>
47 struct DecomposeMemberPtr<R (C::*)>
50 using StructType_t = C;
54 template<
typename PtrType>
57 template<
typename PtrType>
MemberTypeType_t< decltype(Ptr)> MemberPtrType_t
typename detail::DecomposeMemberPtr< PtrType >::StructType_t MemberTypeStruct_t
typename detail::DecomposeMemberPtr< PtrType >::Value_t MemberTypeType_t
std::tuple_element_t< Idx+1, decltype(detail::TypeGetter(*static_cast< F * >(nullptr)))> ArgType_t
decltype(TypeGetter(&C::operator())) TypeGetter(const C &c)
constexpr detail::ExprTree< detail::ExprType::LeafStaticPlaceholder, detail::MemberPtrs< Ptr > > f
MemberTypeStruct_t< decltype(Ptr)> MemberPtrStruct_t
std::tuple_element_t< 0, decltype(detail::TypeGetter(*static_cast< F * >(nullptr)))> RetType_t