20 #for $NARGS in range($MAX_ARGS)
24 template <
typename ReturnType, $expand('
typename A%d', $NARGS)>
34 throw CallableReturnError(
"Pothos::Callable::call()", ex);
39 template <$expand('
typename A%d', $NARGS)>
42 Object args[$(max(1, $NARGS))];
43 #for $i in range($NARGS):
44 args[$i] =
Object(std::forward<A$i>(a$i));
49 template <$expand('
typename A%d', $NARGS)>
52 this->
callObject($expand(
'std::forward<A%d>(a%d)', $NARGS));
virtual Object opaqueCall(const Object *inputArgs, const size_t numArgs) const =0
ReturnType call() const
Call a bound method/function with a return type and 0 args.
Definition: CallInterfaceImpl.hpp:24
Object callObject() const
Call a bound method/function with an Object return and 0 args.
Definition: CallInterface.tmpl.hpp:57
void callVoid() const
Call a bound method/function with a void return and 0 args.
Definition: CallInterface.tmpl.hpp:62
Definition: Object.hpp:55
ValueType convert(void) const
Definition: ObjectImpl.hpp:227
Definition: Exception.hpp:65