Pothos  0.4.3-gabce2ce6
The Pothos dataflow programming software suite
CallInterface.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 #include <Pothos/Config.hpp>
13 #include <Pothos/Object/Object.hpp>
14 
15 namespace Pothos {
16 
22 {
23 public:
27  virtual ~CallInterface(void);
28 
30  template <typename ReturnType, typename... ArgsType>
31  ReturnType call(ArgsType&&... args) const;
32 
34  template <typename... ArgsType>
35  Object callObject(ArgsType&&... args) const;
36 
38  template <typename... ArgsType>
39  void callVoid(ArgsType&&... args) const;
40 
41 protected:
49  virtual Object opaqueCall(const Object *inputArgs, const size_t numArgs) const = 0;
50 };
51 
52 } //namespace Pothos
#define POTHOS_API
Definition: Config.hpp:41
Definition: CallInterface.hpp:15
Definition: CallInterface.hpp:21
Definition: Object.hpp:55