All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pyStaticTokens.h File Reference
+ Include dependency graph for pyStaticTokens.h:

Go to the source code of this file.

Macros

#define TF_PY_WRAP_PUBLIC_TOKENS(name, key, seq)
 Macro to wrap static tokens defined with TF_DEFINE_PUBLIC_TOKENS to Python. More...
 
#define TF_PY_WRAP_PUBLIC_TOKENS_IN_CURRENT_SCOPE(key, seq)
 Macro to wrap static tokens defined with TF_DEFINE_PUBLIC_TOKENS to Python. More...
 
#define _TF_PY_TOKENS_WRAP_ATTR_MEMBER(r, key, name)
 
#define _TF_PY_TOKENS_WRAP_MEMBER(r, key, name)
 
#define _TF_PY_TOKENS_EXPAND(seq)
 
#define _TF_PY_TOKENS_WRAP_ELEMENT(r, key, elem)   _TF_PY_TOKENS_WRAP_MEMBER(r, key, _TF_PY_TOKEN_GET_ELEM(elem))
 
#define _TF_PY_TOKENS_WRAP_ATTR_ELEMENT(r, key, elem)   _TF_PY_TOKENS_WRAP_ATTR_MEMBER(r, key, _TF_PY_TOKEN_GET_ELEM(elem))
 
#define _TF_PY_TOKEN_GET_ELEM(elem)
 
#define _TF_PY_TOKENS_WRAP_SEQ(key, seq)   BOOST_PP_SEQ_FOR_EACH(_TF_PY_TOKENS_WRAP_ELEMENT, key, seq)
 
#define _TF_PY_TOKENS_WRAP_ATTR_SEQ(key, seq)   BOOST_PP_SEQ_FOR_EACH(_TF_PY_TOKENS_WRAP_ATTR_ELEMENT, key, seq)
 

Macro Definition Documentation

#define _TF_PY_TOKEN_GET_ELEM (   elem)
Value:
BOOST_PP_IIF(TF_PP_IS_TUPLE(elem), \
BOOST_PP_TUPLE_ELEM(2, 0, elem), elem)
#define TF_PP_IS_TUPLE(arg)
Exapnds to 1 if the argument is a tuple, and 0 otherwise.

Definition at line 103 of file pyStaticTokens.h.

#define _TF_PY_TOKENS_EXPAND (   seq)
Value:
BOOST_PP_SEQ_FILTER(_TF_TOKENS_IS_NOT_ARRAY, ~, seq) \
_TF_TOKENS_EXPAND_ARRAY_ELEMENTS(seq)

Definition at line 92 of file pyStaticTokens.h.

#define _TF_PY_TOKENS_WRAP_ATTR_MEMBER (   r,
  key,
  name 
)
Value:
boost::python::scope().attr( \
BOOST_PP_STRINGIZE(name)) = key->name.GetString();

Definition at line 81 of file pyStaticTokens.h.

#define _TF_PY_TOKENS_WRAP_MEMBER (   r,
  key,
  name 
)
Value:
.add_static_property(BOOST_PP_STRINGIZE(name), \
boost::python::make_function(_TfPyWrapStaticToken((&key->name)), \
boost::python::return_value_policy< \
boost::python::return_by_value>(), \
boost::mpl::vector1<std::string>()))

Definition at line 85 of file pyStaticTokens.h.

#define TF_PY_WRAP_PUBLIC_TOKENS (   name,
  key,
  seq 
)

Macro to wrap static tokens defined with TF_DEFINE_PUBLIC_TOKENS to Python.

It creates a class of name name in the current scope containing just the tokens in seq in the static tokens named by key. Arrays are not wrapped but their components are.

Definition at line 49 of file pyStaticTokens.h.

#define TF_PY_WRAP_PUBLIC_TOKENS_IN_CURRENT_SCOPE (   key,
  seq 
)

Macro to wrap static tokens defined with TF_DEFINE_PUBLIC_TOKENS to Python.

This wraps tokens in seq in the static tokens named by key as attributes on the current boost python scope. Arrays are not wrapped but their components are.

Definition at line 60 of file pyStaticTokens.h.