21 template <
typename ReturnType,
typename... ArgsType>
24 Object r = this->
call(std::forward<ArgsType>(args)...);
31 throw CallableReturnError(
"Pothos::Callable::call()", ex);
35 template <
typename... ArgsType>
38 const std::array<
Object,
sizeof...(ArgsType)> objArgs{{Object(std::forward<ArgsType>(args))...}};
39 return this->
opaqueCall(objArgs.data(),
sizeof...(args));
42 template <
typename... ArgsType>
45 return this->
call(std::forward<ArgsType>(args)...);
48 template <
typename... ArgsType>
51 this->
call(std::forward<ArgsType>(args)...);
virtual Object opaqueCall(const Object *inputArgs, const size_t numArgs) const =0
Object callObject(ArgsType &&... args) const
Definition: CallInterfaceImpl.hpp:43
Definition: ArchiveEntry.hpp:20
Definition: Object.hpp:47
ValueType convert(void) const
Definition: ObjectImpl.hpp:165
ReturnType call(ArgsType &&... args) const
Call a bound method/function with a return type and variable args.
Definition: CallInterfaceImpl.hpp:22
Definition: Exception.hpp:65
void callVoid(ArgsType &&... args) const
Definition: CallInterfaceImpl.hpp:49