13#ifndef ML_ARGUMENT_LIST_H
14#define ML_ARGUMENT_LIST_H
21ML_UTILS_START_NAMESPACE
37template<
class Arg1,
class Arg2>
40 ArgumentList2(
const Arg1& arg1,
const Arg2& arg2):_arg1(arg1),_arg2(arg2) {}
46template<
class Arg1,
class Arg2,
class Arg3>
49 ArgumentList3(
const Arg1& arg1,
const Arg2& arg2,
const Arg3& arg3):_arg1(arg1),_arg2(arg2),_arg3(arg3) {}
56template<
class Arg1,
class Arg2,
class Arg3,
class Arg4>
59 ArgumentList4(
const Arg1& arg1,
const Arg2& arg2,
const Arg3& arg3,
const Arg4& arg4):_arg1(arg1),_arg2(arg2),_arg3(arg3),_arg4(arg4) {}
67template<
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5>
70 ArgumentList5(
const Arg1& arg1,
const Arg2& arg2,
const Arg3& arg3,
const Arg4& arg4,
const Arg5& arg5):_arg1(arg1),_arg2(arg2),_arg3(arg3),_arg4(arg4),_arg5(arg5) {}
88template<
class Arg1,
class Arg2>
92template<
class Arg1,
class Arg2,
class Arg3>
97template<
class Arg1,
class Arg2,
class Arg3,
class Arg4>
101template<
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5>
107template<
class Object,
class Method>
112template<
class Object,
class Method,
class Arg1>
114 (
object->*method)(args.
_arg1);
117template<
class Object,
class Method,
class Arg1,
class Arg2>
123template<
class Object,
class Method,
class Arg1,
class Arg2,
class Arg3>
128template<
class Object,
class Method,
class Arg1,
class Arg2,
class Arg3,
class Arg4>
133template<
class Object,
class Method,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5>
138ML_UTILS_END_NAMESPACE
ArgumentList0 MLGenerateArgumentList()
Creates argument list with 0 arguments.
void MLCallMethodWithArguments(Object *object, Method method, const ArgumentList0 &)
Calls a method on given object with 0 arguments.
Empty argument to allow running with 0 arguments.
ArgumentList with 1 argument.
ArgumentList1(const Arg1 &arg1)
ArgumentList with 2 arguments.
ArgumentList2(const Arg1 &arg1, const Arg2 &arg2)
ArgumentList with 3 arguments.
ArgumentList3(const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3)
ArgumentList with 4 arguments.
ArgumentList4(const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4)
ArgumentList with 5 arguments.
ArgumentList5(const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5)