27 virtual ~CallInterface(
void);
30 template <
typename ReturnType>
31 ReturnType call()
const;
35 Object callObject()
const;
39 void callVoid()
const;
42 template <
typename ReturnType,
typename A0>
43 ReturnType call(A0 &&a0)
const;
46 template <
typename A0>
47 Object callObject(A0 &&a0)
const;
50 template <
typename A0>
51 void callVoid(A0 &&a0)
const;
54 template <
typename ReturnType,
typename A0,
typename A1>
55 ReturnType call(A0 &&a0, A1 &&a1)
const;
58 template <
typename A0,
typename A1>
59 Object callObject(A0 &&a0, A1 &&a1)
const;
62 template <
typename A0,
typename A1>
63 void callVoid(A0 &&a0, A1 &&a1)
const;
66 template <
typename ReturnType,
typename A0,
typename A1,
typename A2>
67 ReturnType call(A0 &&a0, A1 &&a1, A2 &&a2)
const;
70 template <
typename A0,
typename A1,
typename A2>
71 Object callObject(A0 &&a0, A1 &&a1, A2 &&a2)
const;
74 template <
typename A0,
typename A1,
typename A2>
75 void callVoid(A0 &&a0, A1 &&a1, A2 &&a2)
const;
78 template <
typename ReturnType,
typename A0,
typename A1,
typename A2,
typename A3>
79 ReturnType call(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3)
const;
82 template <
typename A0,
typename A1,
typename A2,
typename A3>
83 Object callObject(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3)
const;
86 template <
typename A0,
typename A1,
typename A2,
typename A3>
87 void callVoid(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3)
const;
90 template <
typename ReturnType,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
91 ReturnType call(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4)
const;
94 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
95 Object callObject(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4)
const;
98 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4>
99 void callVoid(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4)
const;
102 template <
typename ReturnType,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
103 ReturnType call(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5)
const;
106 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
107 Object callObject(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5)
const;
110 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
111 void callVoid(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5)
const;
114 template <
typename ReturnType,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
115 ReturnType call(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6)
const;
118 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
119 Object callObject(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6)
const;
122 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
123 void callVoid(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6)
const;
126 template <
typename ReturnType,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
127 ReturnType call(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6, A7 &&a7)
const;
130 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
131 Object callObject(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6, A7 &&a7)
const;
134 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
135 void callVoid(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6, A7 &&a7)
const;
138 template <
typename ReturnType,
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
139 ReturnType call(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6, A7 &&a7, A8 &&a8)
const;
142 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
143 Object callObject(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6, A7 &&a7, A8 &&a8)
const;
146 template <
typename A0,
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
147 void callVoid(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6, A7 &&a7, A8 &&a8)
const;
158 virtual Object opaqueCall(
const Object *inputArgs,
const size_t numArgs)
const = 0;
virtual Object opaqueCall(const Object *inputArgs, const size_t numArgs) const =0
Object callObject() const
Call a bound method/function with an Object return and 0 args.
Definition: CallInterface.tmpl.hpp:57
#define POTHOS_API
Definition: Config.hpp:41
void callVoid() const
Call a bound method/function with a void return and 0 args.
Definition: CallInterface.tmpl.hpp:62
Definition: Object.hpp:55