Pothos  0.3.0-ga8f2d4e2
The Pothos dataflow programming software suite
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros
CallRegistry.tmpl.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 #include <Pothos/Config.hpp>
14 #include <string>
15 
16 namespace Pothos {
17 
22 {
23 public:
24 
26  virtual ~CallRegistry(void);
27 
28  #for $NARGS in range($MAX_ARGS)
29 
33  template <$expand('typename A%d', $NARGS), typename ReturnType, typename ClassType, typename InstanceType>
34  void registerCall(InstanceType *instance, const std::string &name, ReturnType(ClassType::*method)($expand('A%d', $NARGS)));
35 
40  template <$expand('typename A%d', $NARGS), typename ReturnType, typename ClassType, typename InstanceType>
41  void registerCall(InstanceType *instance, const std::string &name, ReturnType(ClassType::*method)($expand('A%d', $NARGS)) const);
42 
43  #end for
44 
48  virtual void registerCallable(const std::string &name, const Callable &call) = 0;
49 };
50 
51 } //namespace Pothos
#define POTHOS_API
Definition: Config.hpp:41
Definition: CallRegistry.tmpl.hpp:21
Definition: Callable.tmpl.hpp:30