函数
|
template<typename T >
|
constexpr
UInt64
|
GetSizeAndAlignment
()
|
template<typename X >
|
Bool
|
TupleDestructMember
(Generic &x, SFINAEHelper< X > *)
|
template<typename X >
|
Bool
|
TupleDestructMember
(Generic &x, SFINAEHelper< X & > *)
|
template<typename TUPLE , size_t... I>
|
void
|
TupleDestruct
(
TUPLE
&tuple, std::index_sequence< I... > *)
|
ResultOk< void >
|
TupleCopyFrom
()
|
template<typename T1 , typename... T>
|
Result< void >
|
TupleCopyFrom
(const T1 &a1, const T &... rest)
|
const
String
&
|
TupleToString
(const FormatStatement *fs)
|
template<typename T1 , typename... T>
|
SFINAEHelper<
String
, T1 >::type
|
TupleToString
(const FormatStatement *fs, const T1 &a1, const T &... rest)
|
Bool
|
TupleEquals
()
|
template<typename T1 , typename... T>
|
Bool
|
TupleEquals
(const T1 &a1, const T &... rest)
|
Bool
|
TupleLessThan
()
|
template<typename T1 , typename... T>
|
Bool
|
TupleLessThan
(const T1 &a1, const T &... rest)
|
template<typename T1 , typename T2 >
|
TupleStorage< T1 &, const T2 & >
|
TuplePair
(T1 &t1, const T2 &t2)
|
template<Int I, typename ... TYPES>
|
auto
|
TupleGet
(const Tuple< TYPES ... > &tup) -> const typename ParameterPack< TYPES... >::template At< I >::type &
|
template<Int I, typename ... TYPES>
|
auto
|
TupleGet
(Tuple< TYPES ... > &tup) -> typename ParameterPack< TYPES... >::template At< I >::type &
|
template<Int I, typename ... TYPES>
|
auto
|
TupleGet
(Tuple< TYPES ... > &&tup) -> typename ParameterPack< TYPES... >::template At< I >::type &&
|
template<typename TUP , typename F , size_t ... INDICES>
|
auto
|
ExpandSeqHelperConst
(const TUP &tup, F &&func, std::index_sequence< INDICES ... >) -> decltype(func(TupleGet< INDICES >(tup) ...))
|
template<typename TUP , typename F , size_t ... INDICES>
|
auto
|
ExpandSeqHelper
(TUP &&tup, F &&func, std::index_sequence< INDICES ... >) -> decltype(func(TupleGet< INDICES >(std::forward< TUP >(tup)) ...))
|
template<typename F , typename ... TYPES>
|
auto
|
TupleExpand
(const Tuple< TYPES ... > &tup, F &&func) -> decltype(
maxon::details::ExpandSeqHelperConst
(tup, std::forward< F >(func), std::make_index_sequence< sizeof...(TYPES)>()))
|
template<typename F , typename ... TYPES>
|
auto
|
TupleExpand
(Tuple< TYPES ... > &tup, F &&func) -> decltype(
maxon::details::ExpandSeqHelper
(tup, std::forward< F >(func), std::make_index_sequence< sizeof...(TYPES)>()))
|
template<typename F , typename ... TYPES>
|
auto
|
TupleExpand
(Tuple< TYPES ... > &&tup, F &&func) -> decltype(
maxon::details::ExpandSeqHelper
(std::move(tup), std::forward< F >(func), std::make_index_sequence< sizeof...(TYPES)>()))
|
template<typename ... TYPES>
|
auto
|
ToTuple
(TYPES &&... args) -> Tuple< typename std::decay< TYPES >::type ... >
|
template<typename... TYPES>
|
auto
|
Tie
(TYPES &... args) -> Tuple< TYPES &... >
|
template<typename... TYPES>
|
auto
|
ToForwardTuple
(TYPES &&... args) -> Tuple< TYPES &&... >
|
template<typename F , typename ... TYPES>
|
void
|
TupleForEach
(const Tuple< TYPES ... > &tup, F &&func)
|
template<typename F , typename ... TYPES>
|
void
|
TupleForEach
(Tuple< TYPES ... > &tup, F &&func)
|
template<typename F , typename ... TYPES>
|
void
|
TupleForEach
(Tuple< TYPES ... > &&tup, F &&func)
|
template<typename V , typename F , typename ... TYPES>
|
auto
|
TupleFold
(const Tuple< TYPES ... > &tup, const V &initialValue, F &&func) -> V
|
template<typename V , typename F , typename ... TYPES>
|
auto
|
TupleFold
(Tuple< TYPES ... > &tup, const V &initialValue, F &&func) -> V
|
template<typename V , typename F , typename ... TYPES>
|
auto
|
TupleFold
(Tuple< TYPES ... > &&tup, const V &initialValue, F &&func) -> V
|