22 std::reference_wrapper<T> referenceToWrapper(T &v)
28 std::reference_wrapper<T> pointerToWrapper(T *v)
34 std::reference_wrapper<T> sharedToWrapper(std::shared_ptr<T> &v)
39 template <
typename T,
typename Base>
40 std::reference_wrapper<Base> convertToBase(T &v)
42 return std::ref<Base>(v);
46 void deleteValue(T &v)
51 template <
typename ClassType,
typename ValueType>
52 static const ValueType &getField(ClassType &i,
const std::function<ValueType &(ClassType *)> &getRef)
57 template <
typename ClassType,
typename ValueType>
58 static void setField(ClassType &i,
const std::function<ValueType &(ClassType *)> &getRef,
const ValueType &v)
65 template <
typename ClassType>
78 template <
typename ClassType,
typename BaseClassType>
84 template <
typename ClassType,
typename ValueType>
87 std::function<ValueType &(ClassType *)> getRef = std::mem_fn(member);
93 template <
typename ClassType,
typename... ArgsType>
96 this->registerClass<ClassType>();
103 template <
typename ReturnType,
typename... ArgsType>
110 template <
typename ReturnType,
typename ClassType,
typename... ArgsType>
113 this->registerClass<ClassType>();
118 template <
typename ReturnType,
typename ClassType,
typename... ArgsType>
121 this->registerClass<ClassType>();
126 template <
typename ClassType>
129 this->registerClass<ClassType>();
ManagedClass & registerOpaqueConstructor(void)
Definition: ClassImpl.hpp:127
ManagedClass & registerPointerToWrapper(const Callable &toPointer)
ManagedClass & registerMethod(const std::string &name, ReturnType(ClassType::*method)(ArgsType...))
Definition: ClassImpl.hpp:111
const Callable & getReferenceToWrapper(void) const
Definition: Callable.hpp:30
ManagedClass & registerConstructor(void)
Definition: ClassImpl.hpp:94
ManagedClass & registerToBaseClass(const Callable &toBase)
ManagedClass & registerReferenceToWrapper(const Callable &toPointer)
ManagedClass & registerBaseClass(void)
Definition: ClassImpl.hpp:79
ManagedClass & registerClass(void)
Definition: ClassImpl.hpp:66
const Callable & getPointerToWrapper(void) const
ManagedClass & registerField(const std::string &name, ValueType ClassType::*member)
Definition: ClassImpl.hpp:85
ManagedClass & registerStaticMethod(const std::string &name, ReturnType(*method)(ArgsType...))
Definition: ClassImpl.hpp:104
const Callable & getSharedToWrapper(void) const
ManagedClass & registerSharedToWrapper(const Callable &toPointer)