HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
schemaTypeRegistration.h File Reference
#include "pxr/pxr.h"
#include "pxr/usd/sdf/layerOffset.h"
#include "pxr/usd/sdf/listOp.h"
#include "pxr/usd/sdf/path.h"
#include "pxr/usd/sdf/schema.h"
#include "pxr/usd/sdf/types.h"
#include "pxr/base/vt/dictionary.h"
#include "pxr/base/vt/value.h"
#include "pxr/base/tf/enum.h"
#include "pxr/base/tf/token.h"
#include <string>
#include <vector>
+ Include dependency graph for schemaTypeRegistration.h:

Go to the source code of this file.

Macros

#define _SDF_FIELDS
 
#define _SDF_FIELDS_NAME(tup)   HBOOST_PP_TUPLE_ELEM(2, 0, tup)
 
#define _SDF_FIELDS_TYPE(tup)   HBOOST_PP_TUPLE_ELEM(2, 1, tup)
 
#define _SDF_REGISTER_FIELDS(r, unused, elem)   reg->template RegisterField< _SDF_FIELDS_TYPE(elem) >(_SDF_FIELDS_NAME(elem));
 
#define _SDF_REGISTER_TYPES(r, unused, elem)   reg->template RegisterType< _SDF_FIELDS_TYPE(elem) >();
 
#define _SDF_REGISTER_VALUE_TYPES(r, unused, elem)
 

Functions

template<class Registrar >
void SdfRegisterFields (Registrar *reg)
 
template<class Registrar >
void SdfRegisterTypes (Registrar *reg)
 

Macro Definition Documentation

#define _SDF_FIELDS

Definition at line 51 of file schemaTypeRegistration.h.

#define _SDF_FIELDS_NAME (   tup)    HBOOST_PP_TUPLE_ELEM(2, 0, tup)

Definition at line 118 of file schemaTypeRegistration.h.

#define _SDF_FIELDS_TYPE (   tup)    HBOOST_PP_TUPLE_ELEM(2, 1, tup)

Definition at line 119 of file schemaTypeRegistration.h.

#define _SDF_REGISTER_FIELDS (   r,
  unused,
  elem 
)    reg->template RegisterField< _SDF_FIELDS_TYPE(elem) >(_SDF_FIELDS_NAME(elem));
#define _SDF_REGISTER_TYPES (   r,
  unused,
  elem 
)    reg->template RegisterType< _SDF_FIELDS_TYPE(elem) >();
#define _SDF_REGISTER_VALUE_TYPES (   r,
  unused,
  elem 
)
Value:
{ \
reg->template RegisterType<SDF_VALUE_CPP_TYPE(elem)>(); \
reg->template RegisterType<SDF_VALUE_CPP_ARRAY_TYPE(elem)>(); \
}

Function Documentation

template<class Registrar >
void SdfRegisterFields ( Registrar *  reg)
inline

Registers each built-in Sd field along with its C++ value type with reg. reg can be any type that has a member function: template <class t>=""> void RegisterField(const TfToken&);

This function will be invoked for each (field, type) pair. The template type T will be the C++ value type and the TfToken will be the field name.

Definition at line 129 of file schemaTypeRegistration.h.

template<class Registrar >
void SdfRegisterTypes ( Registrar *  reg)
inline

Registers all possible C++ value types for built-in fields with reg. This is the set of C++ types that are used by built-in fields and could be returned from an SdfAbstractData container. reg can be any type that has a member function: template <class t>=""> void RegisterType();

This function will be invoked for each C++ value type, which will be given to the function as the template type T. Note that this function may be called with the same T multiple times.

Definition at line 149 of file schemaTypeRegistration.h.