19 template <
typename ReturnType,
typename ClassType,
typename InstanceType>
23 call.
bind(std::ref(*static_cast<ClassType *>(instance)), 0);
27 template <
typename ReturnType,
typename ClassType,
typename InstanceType>
31 call.bind(std::ref(*static_cast<ClassType *>(instance)), 0);
35 template <
typename A0,
typename ReturnType,
typename ClassType,
typename InstanceType>
39 call.
bind(std::ref(*static_cast<ClassType *>(instance)), 0);
43 template <
typename A0,
typename ReturnType,
typename ClassType,
typename InstanceType>
47 call.bind(std::ref(*static_cast<ClassType *>(instance)), 0);
51 template <
typename A0,
typename A1,
typename ReturnType,
typename ClassType,
typename InstanceType>
55 call.
bind(std::ref(*static_cast<ClassType *>(instance)), 0);
59 template <
typename A0,
typename A1,
typename ReturnType,
typename ClassType,
typename InstanceType>
63 call.bind(std::ref(*static_cast<ClassType *>(instance)), 0);
67 template <
typename A0,
typename A1,
typename A2,
typename ReturnType,
typename ClassType,
typename InstanceType>
71 call.
bind(std::ref(*static_cast<ClassType *>(instance)), 0);
75 template <
typename A0,
typename A1,
typename A2,
typename ReturnType,
typename ClassType,
typename InstanceType>
76 void CallRegistry::registerCall(InstanceType *instance,
const std::string &name, ReturnType(ClassType::*method)(A0, A1, A2)
const)
79 call.bind(std::ref(*static_cast<ClassType *>(instance)), 0);
83 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename ReturnType,
typename ClassType,
typename InstanceType>
87 call.
bind(std::ref(*static_cast<ClassType *>(instance)), 0);
91 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename ReturnType,
typename ClassType,
typename InstanceType>
92 void CallRegistry::registerCall(InstanceType *instance,
const std::string &name, ReturnType(ClassType::*method)(A0, A1, A2, A3)
const)
95 call.bind(std::ref(*static_cast<ClassType *>(instance)), 0);
99 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename ReturnType,
typename ClassType,
typename InstanceType>
103 call.
bind(std::ref(*static_cast<ClassType *>(instance)), 0);
107 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename ReturnType,
typename ClassType,
typename InstanceType>
108 void CallRegistry::registerCall(InstanceType *instance,
const std::string &name, ReturnType(ClassType::*method)(A0, A1, A2, A3, A4)
const)
111 call.bind(std::ref(*static_cast<ClassType *>(instance)), 0);
115 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename ReturnType,
typename ClassType,
typename InstanceType>
119 call.
bind(std::ref(*static_cast<ClassType *>(instance)), 0);
123 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename ReturnType,
typename ClassType,
typename InstanceType>
124 void CallRegistry::registerCall(InstanceType *instance,
const std::string &name, ReturnType(ClassType::*method)(A0, A1, A2, A3, A4, A5)
const)
127 call.bind(std::ref(*static_cast<ClassType *>(instance)), 0);
131 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename ReturnType,
typename ClassType,
typename InstanceType>
135 call.
bind(std::ref(*static_cast<ClassType *>(instance)), 0);
139 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename ReturnType,
typename ClassType,
typename InstanceType>
140 void CallRegistry::registerCall(InstanceType *instance,
const std::string &name, ReturnType(ClassType::*method)(A0, A1, A2, A3, A4, A5, A6)
const)
143 call.bind(std::ref(*static_cast<ClassType *>(instance)), 0);
147 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename ReturnType,
typename ClassType,
typename InstanceType>
148 void CallRegistry::registerCall(InstanceType *instance,
const std::string &name, ReturnType(ClassType::*method)(A0, A1, A2, A3, A4, A5, A6, A7))
151 call.
bind(std::ref(*static_cast<ClassType *>(instance)), 0);
155 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename ReturnType,
typename ClassType,
typename InstanceType>
156 void CallRegistry::registerCall(InstanceType *instance,
const std::string &name, ReturnType(ClassType::*method)(A0, A1, A2, A3, A4, A5, A6, A7)
const)
159 call.bind(std::ref(*static_cast<ClassType *>(instance)), 0);
163 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename ReturnType,
typename ClassType,
typename InstanceType>
164 void CallRegistry::registerCall(InstanceType *instance,
const std::string &name, ReturnType(ClassType::*method)(A0, A1, A2, A3, A4, A5, A6, A7, A8))
167 call.
bind(std::ref(*static_cast<ClassType *>(instance)), 0);
171 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename ReturnType,
typename ClassType,
typename InstanceType>
172 void CallRegistry::registerCall(InstanceType *instance,
const std::string &name, ReturnType(ClassType::*method)(A0, A1, A2, A3, A4, A5, A6, A7, A8)
const)
175 call.bind(std::ref(*static_cast<ClassType *>(instance)), 0);
Callable & bind(ValueType &&val, const size_t argNo)
Definition: CallableImpl.hpp:35
Definition: Callable.tmpl.hpp:30
void registerCall(InstanceType *instance, const std::string &name, ReturnType(ClassType::*method)($expand('A%d', $NARGS)))
Definition: CallRegistryImpl.tmpl.hpp:21
virtual void registerCallable(const std::string &name, const Callable &call)=0