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>
 
   96     this->registerClass<ClassType>();
 
  103 template <
typename ReturnType>
 
  110 template <
typename ReturnType, 
typename ClassType>
 
  113     this->registerClass<ClassType>();
 
  118 template <
typename ReturnType, 
typename ClassType>
 
  121     this->registerClass<ClassType>();
 
  126 template <
typename ClassType, 
typename A0>
 
  129     this->registerClass<ClassType>();
 
  136 template <
typename A0, 
typename ReturnType>
 
  143 template <
typename A0, 
typename ReturnType, 
typename ClassType>
 
  146     this->registerClass<ClassType>();
 
  151 template <
typename A0, 
typename ReturnType, 
typename ClassType>
 
  154     this->registerClass<ClassType>();
 
  159 template <
typename ClassType, 
typename A0, 
typename A1>
 
  162     this->registerClass<ClassType>();
 
  169 template <
typename A0, 
typename A1, 
typename ReturnType>
 
  176 template <
typename A0, 
typename A1, 
typename ReturnType, 
typename ClassType>
 
  179     this->registerClass<ClassType>();
 
  184 template <
typename A0, 
typename A1, 
typename ReturnType, 
typename ClassType>
 
  187     this->registerClass<ClassType>();
 
  192 template <
typename ClassType, 
typename A0, 
typename A1, 
typename A2>
 
  195     this->registerClass<ClassType>();
 
  202 template <
typename A0, 
typename A1, 
typename A2, 
typename ReturnType>
 
  209 template <
typename A0, 
typename A1, 
typename A2, 
typename ReturnType, 
typename ClassType>
 
  212     this->registerClass<ClassType>();
 
  217 template <
typename A0, 
typename A1, 
typename A2, 
typename ReturnType, 
typename ClassType>
 
  220     this->registerClass<ClassType>();
 
  225 template <
typename ClassType, 
typename A0, 
typename A1, 
typename A2, 
typename A3>
 
  228     this->registerClass<ClassType>();
 
  235 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename ReturnType>
 
  242 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename ReturnType, 
typename ClassType>
 
  245     this->registerClass<ClassType>();
 
  250 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename ReturnType, 
typename ClassType>
 
  253     this->registerClass<ClassType>();
 
  258 template <
typename ClassType, 
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4>
 
  261     this->registerClass<ClassType>();
 
  268 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename ReturnType>
 
  275 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename ReturnType, 
typename ClassType>
 
  278     this->registerClass<ClassType>();
 
  283 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename ReturnType, 
typename ClassType>
 
  286     this->registerClass<ClassType>();
 
  291 template <
typename ClassType, 
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5>
 
  294     this->registerClass<ClassType>();
 
  297     this->
registerStaticMethod(
"shared", Callable::factoryShared<ClassType, A0, A1, A2, A3, A4, A5>());
 
  301 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename ReturnType>
 
  308 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename ReturnType, 
typename ClassType>
 
  311     this->registerClass<ClassType>();
 
  316 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename ReturnType, 
typename ClassType>
 
  319     this->registerClass<ClassType>();
 
  324 template <
typename ClassType, 
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6>
 
  327     this->registerClass<ClassType>();
 
  329     this->
registerStaticMethod(
"new", Callable::factoryNew<ClassType, A0, A1, A2, A3, A4, A5, A6>());
 
  330     this->
registerStaticMethod(
"shared", Callable::factoryShared<ClassType, A0, A1, A2, A3, A4, A5, A6>());
 
  334 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename ReturnType>
 
  341 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename ReturnType, 
typename ClassType>
 
  344     this->registerClass<ClassType>();
 
  349 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename ReturnType, 
typename ClassType>
 
  352     this->registerClass<ClassType>();
 
  357 template <
typename ClassType, 
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename A7>
 
  360     this->registerClass<ClassType>();
 
  362     this->
registerStaticMethod(
"new", Callable::factoryNew<ClassType, A0, A1, A2, A3, A4, A5, A6, A7>());
 
  363     this->
registerStaticMethod(
"shared", Callable::factoryShared<ClassType, A0, A1, A2, A3, A4, A5, A6, A7>());
 
  367 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename A7, 
typename ReturnType>
 
  374 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename A7, 
typename ReturnType, 
typename ClassType>
 
  377     this->registerClass<ClassType>();
 
  382 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename A7, 
typename ReturnType, 
typename ClassType>
 
  385     this->registerClass<ClassType>();
 
  390 template <
typename ClassType, 
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename A7, 
typename A8>
 
  393     this->registerClass<ClassType>();
 
  394     this->
registerConstructor(Callable::factory<ClassType, A0, A1, A2, A3, A4, A5, A6, A7, A8>());
 
  395     this->
registerStaticMethod(
"new", Callable::factoryNew<ClassType, A0, A1, A2, A3, A4, A5, A6, A7, A8>());
 
  396     this->
registerStaticMethod(
"shared", Callable::factoryShared<ClassType, A0, A1, A2, A3, A4, A5, A6, A7, A8>());
 
  400 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename A7, 
typename A8, 
typename ReturnType>
 
  407 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename A7, 
typename A8, 
typename ReturnType, 
typename ClassType>
 
  410     this->registerClass<ClassType>();
 
  415 template <
typename A0, 
typename A1, 
typename A2, 
typename A3, 
typename A4, 
typename A5, 
typename A6, 
typename A7, 
typename A8, 
typename ReturnType, 
typename ClassType>
 
  418     this->registerClass<ClassType>();
 
  424 template <
typename ClassType>
 
  427     this->registerClass<ClassType>();
 
ManagedClass & registerOpaqueConstructor(void)
Definition: ClassImpl.hpp:425
 
ManagedClass & registerPointerToWrapper(const Callable &toPointer)
 
const Callable & getReferenceToWrapper(void) const 
 
Definition: Callable.tmpl.hpp:30
 
ManagedClass & registerConstructor(void)
Definition: ClassImpl.hpp:127
 
Definition: Class.tmpl.hpp:24
 
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
 
const Callable & getSharedToWrapper(void) const 
 
ManagedClass & registerSharedToWrapper(const Callable &toPointer)
 
ManagedClass & registerStaticMethod(const std::string &name, ReturnType(*method)($expand('A%d', $NARGS)))
Definition: ClassImpl.tmpl.hpp:105
 
ManagedClass & registerMethod(const std::string &name, ReturnType(ClassType::*method)($expand('A%d', $NARGS)))
Definition: ClassImpl.tmpl.hpp:112