Geometrize  1.0
An application for geometrizing images into geometric primitives
Macros
bindingshelpers.h File Reference
#include "chaiscript/chaiscript.hpp"

Go to the source code of this file.

Macros

#define COMMA   ,
 
#define ADD_CONST_VAR(Class, Name)   try { module->add(chaiscript::const_var(&Class::Name), #Name); } catch(...) { assert(0 && #Name); }
 
#define ADD_FREE_FUN(Name)   try { module->add(chaiscript::fun(&Name), #Name); } catch(...) { assert(0 && #Name); }
 
#define ADD_FREE_FUN_TEMPLATE(Name, Params)   try { module->add(chaiscript::fun(&Name<Params>), #Name); } catch(...) { assert(0 && #Name); }
 
#define ADD_MEMBER(Class, Name)   try { module->add(chaiscript::fun(&Class::Name), #Name); } catch(...) { assert(0 && #Name); }
 
#define ADD_CONST_REF_MEMBER(Class, Name)   try { module->add(chaiscript::fun([](const Class &r) -> decltype(auto) { return (r.Name); }), #Name); } catch(...) { assert(0 && #Name); }
 
#define ADD_TYPE(Class)   try { module->add(chaiscript::user_type<Class>(), #Class); } catch(...) { assert(0 && #Class); }
 
#define ADD_BASE_CLASS(Base, Derived)   try { module->add(chaiscript::base_class<Base, Derived>()); } catch (...) { assert(0 && #Base); }
 
#define ADD_CONSTRUCTOR(Class, Signature)   try { module->add(chaiscript::constructor<Signature>(), #Class); } catch(...) { assert(0 && #Signature); }
 
#define ADD_GLOBAL_CONST(Name, Value)   try { module->add_global_const(chaiscript::const_var(Value), Name); } catch (...) { assert(0 && Name); }
 

Macro Definition Documentation

◆ ADD_BASE_CLASS

#define ADD_BASE_CLASS (   Base,
  Derived 
)    try { module->add(chaiscript::base_class<Base, Derived>()); } catch (...) { assert(0 && #Base); }

◆ ADD_CONST_REF_MEMBER

#define ADD_CONST_REF_MEMBER (   Class,
  Name 
)    try { module->add(chaiscript::fun([](const Class &r) -> decltype(auto) { return (r.Name); }), #Name); } catch(...) { assert(0 && #Name); }

◆ ADD_CONST_VAR

#define ADD_CONST_VAR (   Class,
  Name 
)    try { module->add(chaiscript::const_var(&Class::Name), #Name); } catch(...) { assert(0 && #Name); }

◆ ADD_CONSTRUCTOR

#define ADD_CONSTRUCTOR (   Class,
  Signature 
)    try { module->add(chaiscript::constructor<Signature>(), #Class); } catch(...) { assert(0 && #Signature); }

◆ ADD_FREE_FUN

#define ADD_FREE_FUN (   Name)    try { module->add(chaiscript::fun(&Name), #Name); } catch(...) { assert(0 && #Name); }

◆ ADD_FREE_FUN_TEMPLATE

#define ADD_FREE_FUN_TEMPLATE (   Name,
  Params 
)    try { module->add(chaiscript::fun(&Name<Params>), #Name); } catch(...) { assert(0 && #Name); }

◆ ADD_GLOBAL_CONST

#define ADD_GLOBAL_CONST (   Name,
  Value 
)    try { module->add_global_const(chaiscript::const_var(Value), Name); } catch (...) { assert(0 && Name); }

◆ ADD_MEMBER

#define ADD_MEMBER (   Class,
  Name 
)    try { module->add(chaiscript::fun(&Class::Name), #Name); } catch(...) { assert(0 && #Name); }

◆ ADD_TYPE

#define ADD_TYPE (   Class)    try { module->add(chaiscript::user_type<Class>(), #Class); } catch(...) { assert(0 && #Class); }

◆ COMMA

#define COMMA   ,