9 #ifndef OFFSET_OF_H_INCLUDED
10 # error "Do not include this file directly. Use <Pb/offset_of.h> instead"
58 #define tmp_ALCHEMY_TYPELIST_OFFSETOF(I) \
59 template <TMP_ARRAY_32(typename T)> \
60 struct OffsetOf< (I), TypeList<TMP_ARRAY_32(T)> > \
62 typedef TypeList<TMP_ARRAY_32(T)> container; \
64 enum { value = OffsetOf<(I)-1, container>::value \
65 + SizeAt <(I)-1, container>::value }; \
72 tmp_ALCHEMY_TYPELIST_OFFSETOF(1);
73 tmp_ALCHEMY_TYPELIST_OFFSETOF(2);
74 tmp_ALCHEMY_TYPELIST_OFFSETOF(3);
75 tmp_ALCHEMY_TYPELIST_OFFSETOF(4);
76 tmp_ALCHEMY_TYPELIST_OFFSETOF(5);
77 tmp_ALCHEMY_TYPELIST_OFFSETOF(6);
78 tmp_ALCHEMY_TYPELIST_OFFSETOF(7);
79 tmp_ALCHEMY_TYPELIST_OFFSETOF(8);
80 tmp_ALCHEMY_TYPELIST_OFFSETOF(9);
81 tmp_ALCHEMY_TYPELIST_OFFSETOF(10);
82 tmp_ALCHEMY_TYPELIST_OFFSETOF(11);
83 tmp_ALCHEMY_TYPELIST_OFFSETOF(12);
84 tmp_ALCHEMY_TYPELIST_OFFSETOF(13);
85 tmp_ALCHEMY_TYPELIST_OFFSETOF(14);
86 tmp_ALCHEMY_TYPELIST_OFFSETOF(15);
87 tmp_ALCHEMY_TYPELIST_OFFSETOF(16);
88 tmp_ALCHEMY_TYPELIST_OFFSETOF(17);
89 tmp_ALCHEMY_TYPELIST_OFFSETOF(18);
90 tmp_ALCHEMY_TYPELIST_OFFSETOF(19);
91 tmp_ALCHEMY_TYPELIST_OFFSETOF(20);
92 tmp_ALCHEMY_TYPELIST_OFFSETOF(21);
93 tmp_ALCHEMY_TYPELIST_OFFSETOF(22);
94 tmp_ALCHEMY_TYPELIST_OFFSETOF(23);
95 tmp_ALCHEMY_TYPELIST_OFFSETOF(24);
96 tmp_ALCHEMY_TYPELIST_OFFSETOF(25);
97 tmp_ALCHEMY_TYPELIST_OFFSETOF(26);
98 tmp_ALCHEMY_TYPELIST_OFFSETOF(27);
99 tmp_ALCHEMY_TYPELIST_OFFSETOF(28);
100 tmp_ALCHEMY_TYPELIST_OFFSETOF(29);
101 tmp_ALCHEMY_TYPELIST_OFFSETOF(30);
102 tmp_ALCHEMY_TYPELIST_OFFSETOF(31);
105 #undef tmp_ALCHEMY_TYPELIST_OFFSETOF