template <typename... ArgTypes> UserdataMetatable &setConstructors() { addOverloadedFunctions( "new", typename ConstructorFunction<class_type, ArgTypes>::type()...); return *this; }
UserdataMetatable& setConstructors() { addOverloadedFunctions("new", typename nativefunction::functionToConstructorSignature<class_type, ArgTypes>::type()...); return *this; }