20 #ifndef BK_LIB_TYPE_MANIP_H_INCLUDED
21 #define BK_LIB_TYPE_MANIP_H_INCLUDED
22 namespace bk_lib {
namespace detail {
23 #if (_MSC_VER >= 1300)
24 #define ALIGNOF(PARAM) (__alignof(PARAM))
25 #elif defined(__GNUC__)
26 #define ALIGNOF(PARAM) (__alignof__(PARAM))
30 #define ALIGNOF(T) (sizeof(align_helper<T>)-sizeof(T))
35 template <
bool b,
class if_type,
class else_type>
38 template <
class if_type,
class else_type>
40 template <
class if_type,
class else_type>
54 template <
class head,
class tail>
70 typedef typename generate_type_list<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18>::type tail_type;
88 template <
class X,
class TList>
93 template <
bool,
class X,
class H,
class Tail>
97 template <
class X,
class H,
class T>
103 template <
bool,
class X,
class H,
class Tail>
113 template <
class X,
class H,
class T>
126 typedef generate_type_list<bool, char, short, int, long, float, double,
long double,
void*,
127 unknown_type(*)(unknown_type), unknown_type* unknown_type::*,
BinderType type
Definition: statements.cc:1283
bool type
Definition: type_manip.h:47
int2type< 0 > false_type
Definition: type_manip.h:80
Definition: type_manip.h:69
max_align< X, Tail >::type type
Definition: type_manip.h:105
type_list< T1, tail_type > type
Definition: type_manip.h:71
X type
Definition: type_manip.h:110
max_align< T, align_list >::type type
Definition: type_manip.h:129
Definition: type_manip.h:55
T y
Definition: type_manip.h:29
char x
Definition: type_manip.h:29
nil_type type
Definition: type_manip.h:75
Definition: type_manip.h:29
Definition: type_manip.h:44
#define ALIGNOF(T)
Definition: type_manip.h:30
int2type< 1 > true_type
Definition: type_manip.h:81
Definition: type_manip.h:79
generate_type_list< T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 >::type tail_type
Definition: type_manip.h:70
H type
Definition: type_manip.h:99
Definition: type_manip.h:89
max_align_aux< static_cast< int >x_align)==static_cast< int >h_align), X, H, T >::type type
Definition: type_manip.h:119
if_type type
Definition: type_manip.h:39
else_type type
Definition: type_manip.h:41
Definition: type_manip.h:79
Definition: type_manip.h:94
head head_type
Definition: type_manip.h:56
Definition: type_manip.h:36
Definition: type_manip.h:51
Definition: type_manip.h:125
tail tail_type
Definition: type_manip.h:57
Definition: type_manip.h:47
Definition: type_manip.h:44