22 struct CallableContainer;
44 explicit operator bool(
void)
const;
55 Object opaqueCall(
const Object *inputArgs,
const size_t numArgs)
const;
62 size_t getNumArgs(
void)
const;
72 const std::type_info &type(
const int argNo)
const;
83 template <
typename ValueType>
84 Callable &bind(ValueType &&val,
const size_t argNo);
103 Callable &unbind(
const size_t argNo);
110 std::string toString(
void)
const;
113 template <
typename ReturnType,
typename ClassType,
typename... ArgsType>
114 Callable(ReturnType(ClassType::*fcn)(ArgsType...));
117 template <
typename ReturnType,
typename ClassType,
typename... ArgsType>
118 Callable(ReturnType(ClassType::*fcn)(ArgsType...)
const);
121 template <
typename ReturnType,
typename... ArgsType>
122 Callable(ReturnType(*fcn)(ArgsType...));
130 template <
typename ReturnType,
typename ClassType,
typename... ArgsType>
131 static Callable make(ReturnType(ClassType::*fcn)(ArgsType...));
139 template <
typename ReturnType,
typename ClassType,
typename... ArgsType>
140 static Callable make(ReturnType(ClassType::*fcn)(ArgsType...)
const);
148 template <
typename ReturnType,
typename... ArgsType>
149 static Callable make(ReturnType(*fcn)(ArgsType...));
155 template <
typename ClassType,
typename... ArgsType>
156 static Callable factory(
void);
164 template <
typename ClassType,
typename... ArgsType>
165 static Callable factoryNew(
void);
172 template <
typename ClassType,
typename... ArgsType>
173 static Callable factoryShared(
void);
176 std::vector<Object> _boundArgs;
177 std::shared_ptr<Detail::CallableContainer> _impl;
#define POTHOS_API
Definition: Config.hpp:41
Definition: Callable.hpp:30
bool operator==(const ManagedBuffer &lhs, const ManagedBuffer &rhs)
Definition: ManagedBuffer.hpp:261
Definition: CallInterface.hpp:21
Definition: Object.hpp:55