Pothos  0.7.0-gf7fbae99
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 call(ArgsType&&... args) const;
36 
41  template <typename... ArgsType>
42  POTHOS_DEPRECATED("Replaced by call() overload without return type")
43  Object callObject(ArgsType&&... args) const;
44 
49  template <typename... ArgsType>
50  POTHOS_DEPRECATED("Replaced by call() overload without return type")
51  void callVoid(ArgsType&&... args) const;
52 
53 protected:
61  virtual Object opaqueCall(const Object *inputArgs, const size_t numArgs) const = 0;
62 };
63 
64 } //namespace Pothos
#define POTHOS_API
Definition: Config.hpp:41
Definition: ArchiveEntry.hpp:20
Definition: CallInterface.hpp:21
Definition: Object.hpp:47
#define POTHOS_DEPRECATED(msg)
Definition: Config.hpp:72