23 template <
typename ReturnType>
 
   33         throw CallableReturnError(
"Pothos::Callable::call()", ex);
 
   41 template <
typename ReturnType, 
typename A0>
 
   51         throw CallableReturnError(
"Pothos::Callable::call()", ex);
 
   55 template <
typename A0>
 
   59     args[0] = 
Object(std::forward<A0>(a0));
 
   63 template <
typename A0>
 
   72 template <
typename ReturnType, 
typename A0, 
typename A1>
 
   82         throw CallableReturnError(
"Pothos::Callable::call()", ex);
 
   86 template <
typename A0, 
typename A1>
 
   90     args[0] = 
Object(std::forward<A0>(a0));
 
   91     args[1] = 
Object(std::forward<A1>(a1));
 
   95 template <
typename A0, 
typename A1>
 
   98     this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1));
 
  104 template <
typename ReturnType, 
typename A0, 
typename A1, 
typename A2>
 
  107     Object r = this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1), std::forward<A2>(a2));
 
  110         return r.
convert<ReturnType>();
 
  114         throw CallableReturnError(
"Pothos::Callable::call()", ex);
 
  118 template <
typename A0, 
typename A1, 
typename A2>
 
  122     args[0] = 
Object(std::forward<A0>(a0));
 
  123     args[1] = 
Object(std::forward<A1>(a1));
 
  124     args[2] = 
Object(std::forward<A2>(a2));
 
  128 template <
typename A0, 
typename A1, 
typename A2>
 
  131     this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1), std::forward<A2>(a2));
 
  137 template <
typename ReturnType, 
typename A0, 
typename A1, 
typename A2, 
typename A3>
 
  140     Object r = this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3));
 
  143         return r.
convert<ReturnType>();
 
  147         throw CallableReturnError(
"Pothos::Callable::call()", ex);
 
  151 template <
typename A0, 
typename A1, 
typename A2, 
typename A3>
 
  155     args[0] = 
Object(std::forward<A0>(a0));
 
  156     args[1] = 
Object(std::forward<A1>(a1));
 
  157     args[2] = 
Object(std::forward<A2>(a2));
 
  158     args[3] = 
Object(std::forward<A3>(a3));
 
  162 template <
typename A0, 
typename A1, 
typename A2, 
typename A3>
 
  165     this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3));
 
  171 template <
typename ReturnType, 
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4>
 
  174     Object r = this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3), std::forward<A4>(a4));
 
  177         return r.
convert<ReturnType>();
 
  181         throw CallableReturnError(
"Pothos::Callable::call()", ex);
 
  185 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4>
 
  189     args[0] = 
Object(std::forward<A0>(a0));
 
  190     args[1] = 
Object(std::forward<A1>(a1));
 
  191     args[2] = 
Object(std::forward<A2>(a2));
 
  192     args[3] = 
Object(std::forward<A3>(a3));
 
  193     args[4] = 
Object(std::forward<A4>(a4));
 
  197 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4>
 
  200     this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3), std::forward<A4>(a4));
 
  206 template <
typename ReturnType, 
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5>
 
  209     Object r = this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3), std::forward<A4>(a4), std::forward<A5>(a5));
 
  212         return r.
convert<ReturnType>();
 
  216         throw CallableReturnError(
"Pothos::Callable::call()", ex);
 
  220 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5>
 
  224     args[0] = 
Object(std::forward<A0>(a0));
 
  225     args[1] = 
Object(std::forward<A1>(a1));
 
  226     args[2] = 
Object(std::forward<A2>(a2));
 
  227     args[3] = 
Object(std::forward<A3>(a3));
 
  228     args[4] = 
Object(std::forward<A4>(a4));
 
  229     args[5] = 
Object(std::forward<A5>(a5));
 
  233 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5>
 
  236     this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3), std::forward<A4>(a4), std::forward<A5>(a5));
 
  242 template <
typename ReturnType, 
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6>
 
  245     Object r = this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3), std::forward<A4>(a4), std::forward<A5>(a5), std::forward<A6>(a6));
 
  248         return r.
convert<ReturnType>();
 
  252         throw CallableReturnError(
"Pothos::Callable::call()", ex);
 
  256 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6>
 
  260     args[0] = 
Object(std::forward<A0>(a0));
 
  261     args[1] = 
Object(std::forward<A1>(a1));
 
  262     args[2] = 
Object(std::forward<A2>(a2));
 
  263     args[3] = 
Object(std::forward<A3>(a3));
 
  264     args[4] = 
Object(std::forward<A4>(a4));
 
  265     args[5] = 
Object(std::forward<A5>(a5));
 
  266     args[6] = 
Object(std::forward<A6>(a6));
 
  270 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6>
 
  273     this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3), std::forward<A4>(a4), std::forward<A5>(a5), std::forward<A6>(a6));
 
  279 template <
typename ReturnType, 
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename A7>
 
  280 ReturnType 
CallInterface::call(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6, A7 &&a7)
 const 
  282     Object r = this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3), std::forward<A4>(a4), std::forward<A5>(a5), std::forward<A6>(a6), std::forward<A7>(a7));
 
  285         return r.
convert<ReturnType>();
 
  289         throw CallableReturnError(
"Pothos::Callable::call()", ex);
 
  293 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename A7>
 
  297     args[0] = 
Object(std::forward<A0>(a0));
 
  298     args[1] = 
Object(std::forward<A1>(a1));
 
  299     args[2] = 
Object(std::forward<A2>(a2));
 
  300     args[3] = 
Object(std::forward<A3>(a3));
 
  301     args[4] = 
Object(std::forward<A4>(a4));
 
  302     args[5] = 
Object(std::forward<A5>(a5));
 
  303     args[6] = 
Object(std::forward<A6>(a6));
 
  304     args[7] = 
Object(std::forward<A7>(a7));
 
  308 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename A7>
 
  311     this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3), std::forward<A4>(a4), std::forward<A5>(a5), std::forward<A6>(a6), std::forward<A7>(a7));
 
  317 template <
typename ReturnType, 
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename A7, 
typename A8>
 
  318 ReturnType 
CallInterface::call(A0 &&a0, A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6, A7 &&a7, A8 &&a8)
 const 
  320     Object r = this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3), std::forward<A4>(a4), std::forward<A5>(a5), std::forward<A6>(a6), std::forward<A7>(a7), std::forward<A8>(a8));
 
  323         return r.
convert<ReturnType>();
 
  327         throw CallableReturnError(
"Pothos::Callable::call()", ex);
 
  331 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename A7, 
typename A8>
 
  335     args[0] = 
Object(std::forward<A0>(a0));
 
  336     args[1] = 
Object(std::forward<A1>(a1));
 
  337     args[2] = 
Object(std::forward<A2>(a2));
 
  338     args[3] = 
Object(std::forward<A3>(a3));
 
  339     args[4] = 
Object(std::forward<A4>(a4));
 
  340     args[5] = 
Object(std::forward<A5>(a5));
 
  341     args[6] = 
Object(std::forward<A6>(a6));
 
  342     args[7] = 
Object(std::forward<A7>(a7));
 
  343     args[8] = 
Object(std::forward<A8>(a8));
 
  347 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename A7, 
typename A8>
 
  350     this->
callObject(std::forward<A0>(a0), std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3), std::forward<A4>(a4), std::forward<A5>(a5), std::forward<A6>(a6), std::forward<A7>(a7), std::forward<A8>(a8));
 
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:231
 
Definition: Exception.hpp:65