30 #ifndef LUABRIDGE_CONSTRUCTOR_HEADER
31 #define LUABRIDGE_CONSTRUCTOR_HEADER
46 template <
class T,
typename List>
62 template <
class T,
class P1>
71 return new (mem) T(tvl.hd);
75 template <
class T,
class P1,
class P2>
80 return new T(tvl.hd, tvl.tl.hd);
84 return new (mem) T(tvl.hd, tvl.tl.hd);
88 template <
class T,
class P1,
class P2,
class P3>
94 return new T(tvl.hd, tvl.tl.hd, tvl.tl.tl.hd);
99 return new (mem) T(tvl.hd, tvl.tl.hd, tvl.tl.tl.hd);
103 template <
class T,
class P1,
class P2,
class P3,
class P4>
110 return new T(tvl.hd, tvl.tl.hd, tvl.tl.tl.hd, tvl.tl.tl.tl.hd);
115 return new (mem) T(tvl.hd, tvl.tl.hd, tvl.tl.tl.hd, tvl.tl.tl.tl.hd);
119 template <
class T,
class P1,
class P2,
class P3,
class P4,
127 return new T(tvl.hd, tvl.tl.hd, tvl.tl.tl.hd, tvl.tl.tl.tl.hd,
133 return new (mem) T(tvl.hd, tvl.tl.hd, tvl.tl.tl.hd, tvl.tl.tl.tl.hd,
138 template <
class T,
class P1,
class P2,
class P3,
class P4,
146 return new T(tvl.hd, tvl.tl.hd, tvl.tl.tl.hd, tvl.tl.tl.tl.hd,
147 tvl.tl.tl.tl.tl.hd, tvl.tl.tl.tl.tl.tl.hd);
152 return new (mem) T(tvl.hd, tvl.tl.hd, tvl.tl.tl.hd, tvl.tl.tl.tl.hd,
153 tvl.tl.tl.tl.tl.hd, tvl.tl.tl.tl.tl.tl.hd);
157 template <
class T,
class P1,
class P2,
class P3,
class P4,
158 class P5,
class P6,
class P7>
166 return new T(tvl.hd, tvl.tl.hd, tvl.tl.tl.hd, tvl.tl.tl.tl.hd,
167 tvl.tl.tl.tl.tl.hd, tvl.tl.tl.tl.tl.tl.hd,
168 tvl.tl.tl.tl.tl.tl.tl.hd);
174 return new (mem) T(tvl.hd, tvl.tl.hd, tvl.tl.tl.hd, tvl.tl.tl.tl.hd,
175 tvl.tl.tl.tl.tl.hd, tvl.tl.tl.tl.tl.tl.hd,
176 tvl.tl.tl.tl.tl.tl.tl.hd);
180 template <
class T,
class P1,
class P2,
class P3,
class P4,
181 class P5,
class P6,
class P7,
class P8>
190 return new T(tvl.hd, tvl.tl.hd, tvl.tl.tl.hd, tvl.tl.tl.tl.hd,
191 tvl.tl.tl.tl.tl.hd, tvl.tl.tl.tl.tl.tl.hd,
192 tvl.tl.tl.tl.tl.tl.tl.hd, tvl.tl.tl.tl.tl.tl.tl.tl.hd);
198 return new (mem) T(tvl.hd, tvl.tl.hd, tvl.tl.tl.hd, tvl.tl.tl.tl.hd,
199 tvl.tl.tl.tl.tl.hd, tvl.tl.tl.tl.tl.tl.hd,
200 tvl.tl.tl.tl.tl.tl.tl.hd, tvl.tl.tl.tl.tl.tl.tl.tl.hd);
static T * call(void *mem, TypeListValues< None > const &)
static T * call(TypeListValues< None > const &)
static T * call(void *mem, const TypeListValues< TypeList< P1, TypeList< P2, TypeList< P3, TypeList< P4 > > > > > &tvl)
static T * call(const TypeListValues< TypeList< P1, TypeList< P2, TypeList< P3, TypeList< P4 > > > > > &tvl)
static T * call(const TypeListValues< TypeList< P1, TypeList< P2, TypeList< P3, TypeList< P4, TypeList< P5, TypeList< P6, TypeList< P7, TypeList< P8 > > > > > > > > > &tvl)
static T * call(void *mem, const TypeListValues< TypeList< P1, TypeList< P2, TypeList< P3, TypeList< P4, TypeList< P5, TypeList< P6, TypeList< P7, TypeList< P8 > > > > > > > > > &tvl)
static T * call(const TypeListValues< TypeList< P1, TypeList< P2, TypeList< P3, TypeList< P4, TypeList< P5 > > > > > > &tvl)
static T * call(void *mem, const TypeListValues< TypeList< P1, TypeList< P2, TypeList< P3, TypeList< P4, TypeList< P5 > > > > > > &tvl)
static T * call(const TypeListValues< TypeList< P1, TypeList< P2, TypeList< P3, TypeList< P4, TypeList< P5, TypeList< P6, TypeList< P7 > > > > > > > > &tvl)
static T * call(void *mem, const TypeListValues< TypeList< P1, TypeList< P2, TypeList< P3, TypeList< P4, TypeList< P5, TypeList< P6, TypeList< P7 > > > > > > > > &tvl)
static T * call(const TypeListValues< TypeList< P1, TypeList< P2, TypeList< P3, TypeList< P4, TypeList< P5, TypeList< P6 > > > > > > > &tvl)
static T * call(void *mem, const TypeListValues< TypeList< P1, TypeList< P2, TypeList< P3, TypeList< P4, TypeList< P5, TypeList< P6 > > > > > > > &tvl)
static T * call(const TypeListValues< TypeList< P1, TypeList< P2, TypeList< P3 > > > > &tvl)
static T * call(void *mem, const TypeListValues< TypeList< P1, TypeList< P2, TypeList< P3 > > > > &tvl)
static T * call(const TypeListValues< TypeList< P1, TypeList< P2 > > > &tvl)
static T * call(void *mem, const TypeListValues< TypeList< P1, TypeList< P2 > > > &tvl)
static T * call(const TypeListValues< TypeList< P1 > > &tvl)
static T * call(void *mem, const TypeListValues< TypeList< P1 > > &tvl)