33#ifndef __H__COMMON__METAPROGRAMMING_UTIL__
34#define __H__COMMON__METAPROGRAMMING_UTIL__
98 typedef TypeList< T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 > tail;
118 typedef typename TTypeList::head
head;
119 typedef typename TTypeList::tail
tail;
125 std::cerr <<
"incomplete TVL\n";
130 hd(_hd),
tl(typValList) {}
163template <
int n,
size_t d>
186template <
size_t n,
int k>
243template <
class TType>
a singleton class that returns a new id for each type
Definition metaprogramming_util.h:228
UniqueTypeIDProvider()
Definition metaprogramming_util.h:238
static UniqueTypeIDProvider & inst()
Definition metaprogramming_util.h:230
size_t new_id()
Definition metaprogramming_util.h:235
size_t m_id
Definition metaprogramming_util.h:239
size_t GetUniqueTypeID()
This method associated a unique unsigned integer value with each type.
Definition metaprogramming_util.h:244
Definition metaprogramming_util.h:188
@ value
Definition metaprogramming_util.h:189
Definition metaprogramming_util.h:60
Definition metaprogramming_util.h:147
@ value
Definition metaprogramming_util.h:148
Definition metaprogramming_util.h:42
@ value
Definition metaprogramming_util.h:43
int value_type
Definition metaprogramming_util.h:44
T type
Definition metaprogramming_util.h:52
Definition metaprogramming_util.h:48
Definition metaprogramming_util.h:165
@ value
Definition metaprogramming_util.h:166
Definition metaprogramming_util.h:96
TypeList< T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 > tail
Definition metaprogramming_util.h:98
T1 head
Definition metaprogramming_util.h:97
@ length
Definition metaprogramming_util.h:99
Definition metaprogramming_util.h:117
TypeValueList< tail > tl
Definition metaprogramming_util.h:122
TTypeList::head head
Definition metaprogramming_util.h:118
TypeValueList(head _hd, TypeValueList< tail > typValList)
Definition metaprogramming_util.h:128
TTypeList::tail tail
Definition metaprogramming_util.h:119
head hd
Definition metaprogramming_util.h:121
TypeValueList()
Definition metaprogramming_util.h:124