OpenCog Framework  Branch: master, revision 6f0b7fc776b08468cf1b74aa9db028f387b4f0c0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SchemePrimitive.h File Reference
#include <string>
#include <opencog/atomspace/Handle.h>
#include <opencog/atomspace/TruthValue.h>
#include <opencog/guile/SchemeSmob.h>
#include <libguile.h>
#include <opencog/atomspace/ClassServer.h>
+ Include dependency graph for SchemePrimitive.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  opencog::PrimitiveEnviron
 
class  opencog::SchemePrimitive< T >
 

Namespaces

 opencog
 

Macros

#define DECLARE_CONSTR_0(SIG, LSIG, RET_TYPE)
 
#define DECLARE_CONSTR_1(SIG, LSIG, RET_TYPE, ARG_TYPE)
 
#define DECLARE_CONSTR_2(SIG, LSIG, RET_TYPE, ARG1_TYPE, ARG2_TYPE)
 
#define DECLARE_CONSTR_3(SIG, LSIG, RET_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE)
 
#define DECLARE_CONSTR_4(SIG, LSIG, RET_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE)
 
#define DECLARE_DECLARE_1(RET, ARG)
 
#define DECLARE_DECLARE_2(RET, ARG1, ARG2)
 
#define DECLARE_DECLARE_3(RET, ARG1, ARG2, ARG3)
 
#define DECLARE_DECLARE_4(RET, ARG1, ARG2, ARG3, ARG4)
 

Functions

 opencog::DECLARE_DECLARE_3 (const std::string &, const std::string &, const std::string &, const std::string &) DECLARE_DECLARE_3(void
 

Macro Definition Documentation

#define DECLARE_CONSTR_0 (   SIG,
  LSIG,
  RET_TYPE 
)
Value:
SchemePrimitive(const char* module, const char* name, \
RET_TYPE (T::*cb)(void), T *data) \
{ \
that = data; \
method.LSIG = cb; \
scheme_module = module; \
scheme_name = name; \
signature = SIG; \
do_register(module, name, 0); /* cb has 0 args */ \
}

Definition at line 542 of file SchemePrimitive.h.

#define DECLARE_CONSTR_1 (   SIG,
  LSIG,
  RET_TYPE,
  ARG_TYPE 
)
Value:
SchemePrimitive(const char* module, const char* name, \
RET_TYPE (T::*cb)(ARG_TYPE), T *data) \
{ \
that = data; \
method.LSIG = cb; \
scheme_module = module; \
scheme_name = name; \
signature = SIG; \
do_register(module, name, 1); /* cb has 1 arg */ \
}

Definition at line 554 of file SchemePrimitive.h.

#define DECLARE_CONSTR_2 (   SIG,
  LSIG,
  RET_TYPE,
  ARG1_TYPE,
  ARG2_TYPE 
)
Value:
SchemePrimitive(const char* module, const char* name, \
RET_TYPE (T::*cb)(ARG1_TYPE, ARG2_TYPE), T *data) \
{ \
that = data; \
method.LSIG = cb; \
scheme_module = module; \
scheme_name = name; \
signature = SIG; \
do_register(module, name, 2); /* cb has 2 args */ \
}

Definition at line 566 of file SchemePrimitive.h.

#define DECLARE_CONSTR_3 (   SIG,
  LSIG,
  RET_TYPE,
  ARG1_TYPE,
  ARG2_TYPE,
  ARG3_TYPE 
)
Value:
SchemePrimitive(const char* module, const char* name, \
RET_TYPE (T::*cb)(ARG1_TYPE, ARG2_TYPE, ARG3_TYPE), T *data) \
{ \
that = data; \
method.LSIG = cb; \
scheme_module = module; \
scheme_name = name; \
signature = SIG; \
do_register(module, name, 3); /* cb has 3 args */ \
}

Definition at line 578 of file SchemePrimitive.h.

#define DECLARE_CONSTR_4 (   SIG,
  LSIG,
  RET_TYPE,
  ARG1_TYPE,
  ARG2_TYPE,
  ARG3_TYPE,
  ARG4_TYPE 
)
Value:
SchemePrimitive(const char* module, const char* name, \
RET_TYPE (T::*cb)(ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE), T *data) \
{ \
that = data; \
method.LSIG = cb; \
scheme_module = module; \
scheme_name = name; \
signature = SIG; \
do_register(module, name, 4); /* cb has 4 args */ \
}

Definition at line 589 of file SchemePrimitive.h.