Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Macros
NativeWrapperDecls.h File Reference
#include <boost/preprocessor/punctuation/comma_if.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>

Go to the source code of this file.

Macros

#define NUMBERED_LIST_HEAD(z, i, data)   data##i,
 
#define NUMBERED_LIST_TAIL(z, i, data)   ,data##i
 
#define NUMBERED_LIST_BALANCED(z, i, data)   BOOST_PP_COMMA_IF(i) data##i
 
#define TYPED_ARGS(z, i, data)   , T##i a##i
 
#define CONVERT_ARG(z, i, data)   T##i a##i; if (! ScriptInterface::FromJSVal<T##i>(cx, i < argc ? JS_ARGV(cx, vp)[i] : JSVAL_VOID, a##i)) return JS_FALSE;
 
#define TYPENAME_T0_HEAD(z, i)   BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_HEAD, typename T)
 
#define TYPENAME_T0_TAIL(z, i)   BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, typename T)
 
#define T0(z, i)   BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_BALANCED, T)
 
#define T0_HEAD(z, i)   BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_HEAD, T)
 
#define T0_TAIL(z, i)   BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, T)
 
#define T0_A0(z, i)   BOOST_PP_REPEAT_##z (i, TYPED_ARGS, ~)
 
#define A0(z, i)   BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_BALANCED, a)
 
#define A0_TAIL(z, i)   BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, a)
 
#define OVERLOADS(z, i, data)
 
#define OVERLOADS(z, i, data)
 
#define OVERLOADS(z, i, data)
 
#define OVERLOADS(z, i, data)
 
#define NUMBERED_LIST_HEAD(z, i, data)   data##i,
 
#define NUMBERED_LIST_TAIL(z, i, data)   ,data##i
 
#define NUMBERED_LIST_BALANCED(z, i, data)   BOOST_PP_COMMA_IF(i) data##i
 
#define TYPED_ARGS(z, i, data)   , T##i a##i
 
#define CONVERT_ARG(z, i, data)   T##i a##i; if (! ScriptInterface::FromJSVal<T##i>(cx, i < argc ? JS_ARGV(cx, vp)[i] : JSVAL_VOID, a##i)) return JS_FALSE;
 
#define TYPENAME_T0_HEAD(z, i)   BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_HEAD, typename T)
 
#define TYPENAME_T0_TAIL(z, i)   BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, typename T)
 
#define T0(z, i)   BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_BALANCED, T)
 
#define T0_HEAD(z, i)   BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_HEAD, T)
 
#define T0_TAIL(z, i)   BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, T)
 
#define T0_A0(z, i)   BOOST_PP_REPEAT_##z (i, TYPED_ARGS, ~)
 
#define A0(z, i)   BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_BALANCED, a)
 
#define A0_TAIL(z, i)   BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, a)
 
#define OVERLOADS(z, i, data)
 
#define OVERLOADS(z, i, data)
 
#define OVERLOADS(z, i, data)
 
#define OVERLOADS(z, i, data)
 

Macro Definition Documentation

#define A0 (   z,
 
)    BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_BALANCED, a)

Definition at line 39 of file ScriptInterface.h.

#define A0 (   z,
 
)    BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_BALANCED, a)
#define A0_TAIL (   z,
 
)    BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, a)

Definition at line 40 of file ScriptInterface.h.

#define A0_TAIL (   z,
 
)    BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, a)
#define CONVERT_ARG (   z,
  i,
  data 
)    T##i a##i; if (! ScriptInterface::FromJSVal<T##i>(cx, i < argc ? JS_ARGV(cx, vp)[i] : JSVAL_VOID, a##i)) return JS_FALSE;
#define CONVERT_ARG (   z,
  i,
  data 
)    T##i a##i; if (! ScriptInterface::FromJSVal<T##i>(cx, i < argc ? JS_ARGV(cx, vp)[i] : JSVAL_VOID, a##i)) return JS_FALSE;

Definition at line 30 of file ScriptInterface.h.

#define NUMBERED_LIST_BALANCED (   z,
  i,
  data 
)    BOOST_PP_COMMA_IF(i) data##i

Definition at line 27 of file ScriptInterface.h.

#define NUMBERED_LIST_BALANCED (   z,
  i,
  data 
)    BOOST_PP_COMMA_IF(i) data##i
#define NUMBERED_LIST_HEAD (   z,
  i,
  data 
)    data##i,
#define NUMBERED_LIST_HEAD (   z,
  i,
  data 
)    data##i,

Definition at line 25 of file ScriptInterface.h.

#define NUMBERED_LIST_TAIL (   z,
  i,
  data 
)    ,data##i
#define NUMBERED_LIST_TAIL (   z,
  i,
  data 
)    ,data##i

Definition at line 26 of file ScriptInterface.h.

#define OVERLOADS (   z,
  i,
  data 
)
Value:
template <typename R, TYPENAME_T0_HEAD(z,i) R (*fptr) ( void* T0_TAIL(z,i) )> \
void RegisterFunction(const char* name) { \
Register(name, call<R, T0_HEAD(z,i) fptr>, nargs<0 T0_TAIL(z,i)>()); \
}
#define T0_TAIL(z, i)
#define T0_HEAD(z, i)

Definition at line 67 of file ScriptInterface.h.

#define OVERLOADS (   z,
  i,
  data 
)
Value:
template <typename R, TYPENAME_T0_HEAD(z,i) R (*fptr) ( void* T0_TAIL(z,i) )> \
void RegisterFunction(const char* name) { \
Register(name, call<R, T0_HEAD(z,i) fptr>, nargs<0 T0_TAIL(z,i)>()); \
}
#define T0_TAIL(z, i)
#define T0_HEAD(z, i)
#define OVERLOADS (   z,
  i,
  data 
)
Value:
template <typename R, TYPENAME_T0_HEAD(z,i) R (*fptr) ( void* T0_TAIL(z,i) )> \
static JSBool call(JSContext* cx, uintN argc, jsval* vp);
#define OVERLOADS (   z,
  i,
  data 
)
Value:
template <typename R, TYPENAME_T0_HEAD(z,i) R (*fptr) ( void* T0_TAIL(z,i) )> \
static JSBool call(JSContext* cx, uintN argc, jsval* vp);

Definition at line 67 of file ScriptInterface.h.

#define OVERLOADS (   z,
  i,
  data 
)
Value:
template <typename R, TYPENAME_T0_HEAD(z,i) JSClass* CLS, typename TC, R (TC::*fptr) ( T0(z,i) )> \
static JSBool callMethod(JSContext* cx, uintN argc, jsval* vp);
#define OVERLOADS (   z,
  i,
  data 
)
Value:
template <typename R, TYPENAME_T0_HEAD(z,i) JSClass* CLS, typename TC, R (TC::*fptr) ( T0(z,i) )> \
static JSBool callMethod(JSContext* cx, uintN argc, jsval* vp);

Definition at line 67 of file ScriptInterface.h.

#define OVERLOADS (   z,
  i,
  data 
)
Value:
template <int dummy TYPENAME_T0_TAIL(z,i)> /* add a dummy parameter so we still compile with 0 template args */ \
static size_t nargs() { return i; }
#define OVERLOADS (   z,
  i,
  data 
)
Value:
template <int dummy TYPENAME_T0_TAIL(z,i)> /* add a dummy parameter so we still compile with 0 template args */ \
static size_t nargs() { return i; }

Definition at line 67 of file ScriptInterface.h.

#define T0 (   z,
 
)    BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_BALANCED, T)

Definition at line 35 of file ScriptInterface.h.

#define T0 (   z,
 
)    BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_BALANCED, T)
#define T0_A0 (   z,
 
)    BOOST_PP_REPEAT_##z (i, TYPED_ARGS, ~)
#define T0_A0 (   z,
 
)    BOOST_PP_REPEAT_##z (i, TYPED_ARGS, ~)

Definition at line 38 of file ScriptInterface.h.

#define T0_HEAD (   z,
 
)    BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_HEAD, T)

Definition at line 36 of file ScriptInterface.h.

#define T0_HEAD (   z,
 
)    BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_HEAD, T)
#define T0_TAIL (   z,
 
)    BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, T)
#define T0_TAIL (   z,
 
)    BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, T)

Definition at line 37 of file ScriptInterface.h.

#define TYPED_ARGS (   z,
  i,
  data 
)    , T##i a##i
#define TYPED_ARGS (   z,
  i,
  data 
)    , T##i a##i

Definition at line 29 of file ScriptInterface.h.

#define TYPENAME_T0_HEAD (   z,
 
)    BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_HEAD, typename T)

Definition at line 33 of file ScriptInterface.h.

#define TYPENAME_T0_HEAD (   z,
 
)    BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_HEAD, typename T)
#define TYPENAME_T0_TAIL (   z,
 
)    BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, typename T)

Definition at line 34 of file ScriptInterface.h.

#define TYPENAME_T0_TAIL (   z,
 
)    BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, typename T)