31 static ManagedClass lookup(
const std::type_info &type);
41 template <
typename ClassType>
42 ManagedClass ®isterClass(
void);
48 template <
typename ClassType,
typename BaseClassType>
49 ManagedClass ®isterBaseClass(
void);
56 ManagedClass ®isterToBaseClass(
const Callable &toBase);
58 #for $NARGS in range($MAX_ARGS)
63 template <
typename ClassType, $expand('
typename A%d', $NARGS)>
64 ManagedClass ®isterConstructor(
void);
69 template <$expand('
typename A%d', $NARGS),
typename ReturnType>
70 ManagedClass ®isterStaticMethod(
const std::string &name, ReturnType(*method)($expand(
'A%d', $NARGS)));
76 template <$expand('
typename A%d', $NARGS),
typename ReturnType,
typename ClassType>
77 ManagedClass ®isterMethod(
const std::string &name, ReturnType(ClassType::*method)($expand(
'A%d', $NARGS)));
83 template <$expand('
typename A%d', $NARGS),
typename ReturnType,
typename ClassType>
84 ManagedClass ®isterMethod(
const std::string &name, ReturnType(ClassType::*method)($expand(
'A%d', $NARGS))
const);
97 template <
typename ClassType,
typename ValueType>
98 ManagedClass ®isterField(
const std::string &name, ValueType ClassType::*member);
105 ManagedClass ®isterReferenceToWrapper(
const Callable &toPointer);
112 ManagedClass ®isterPointerToWrapper(
const Callable &toPointer);
119 ManagedClass ®isterSharedToWrapper(
const Callable &toPointer);
126 ManagedClass ®isterConstructor(
const Callable &constructor);
132 ManagedClass ®isterStaticMethod(
const std::string &name,
const Callable &method);
139 ManagedClass ®isterMethod(
const std::string &name,
const Callable &method);
145 ManagedClass ®isterOpaqueConstructor(
const Callable &constructor);
150 template <
typename ClassType>
151 ManagedClass ®isterOpaqueConstructor(
void);
157 ManagedClass ®isterOpaqueStaticMethod(
const std::string &name,
const Callable &method);
163 ManagedClass ®isterWildcardStaticMethod(
const Callable &method);
170 ManagedClass ®isterOpaqueMethod(
const std::string &name,
const Callable &method);
177 ManagedClass ®isterWildcardMethod(
const Callable &method);
186 ManagedClass &commit(
const std::string &classPath);
195 static void unload(
const std::string &classPath);
203 const std::type_info &type(
void)
const;
209 const std::type_info &pointerType(
void)
const;
215 const std::type_info &sharedType(
void)
const;
220 const Callable &getReferenceToWrapper(
void)
const;
225 const Callable &getPointerToWrapper(
void)
const;
230 const Callable &getSharedToWrapper(
void)
const;
236 const std::vector<Callable> &getBaseClassConverters(
void)
const;
242 const std::vector<Callable> &getConstructors(
void)
const;
250 const std::vector<Callable> &getStaticMethods(
const std::string &name)
const;
258 const std::vector<Callable> &getMethods(
const std::string &name)
const;
265 const Callable &getOpaqueConstructor(
void)
const;
274 const Callable &getOpaqueStaticMethod(
const std::string &name)
const;
282 const Callable &getWildcardStaticMethod(
void)
const;
291 const Callable &getOpaqueMethod(
const std::string &name)
const;
299 const Callable &getWildcardMethod(
void)
const;
303 std::shared_ptr<Impl> _impl;
#define POTHOS_API
Definition: Config.hpp:41