MAK RTIspy API Documentation for HLA 1.3
Classes | Defines
pluggableFactory.h File Reference

Go to the source code of this file.

Classes

class  DtPluggableFactory< Key, Product, ProductCreatorParameter >
 The DtPluggableFactory class provides a singleton factory class It returns a shared pointer to the created product objects since the caller takes ownership of the created objects. More...

Defines

#define DtREGISTER_WITH_FACTORY_BY_CLASSNAME(ProductClass, CreatableClass)
 Helper macro which registers a class with the factory by name Note: Cannot automatically register templates by class name since classname includes type (and type may not be valid in var name "unsigned int")
#define DtREGISTER_WITH_FACTORY_BY_NAME(CreationKey, ProductClass, CreatableClass)
#define DtREGISTER_TEMPLATE_WITH_FACTORY_BY_NAME(CreationKey, ProductClass, CreatableClass, TemplateParam)
#define DtREGISTER_WITH_FACTORY_BY_CLASSNAME_WITH_PARAM(ProductClass, CreatableClass, CreatorParam)
 Helper macro which registers a class with the factory by name (for classes with ctors which take 1 parameter) Note: Cannot automatically register templates by class name since classname includes type (and type may not be valid in var name "unsigned int")
#define DtREGISTER_WITH_FACTORY_BY_NAME_WITH_PARAM(CreationKey, ProductClass, CreatableClass, CreatorParam)
#define DtREGISTER_TEMPLATE_WITH_FACTORY_BY_NAME_WITH_PARAM(CreationKey, ProductClass, CreatableClass, TemplateParam, CreatorParam)

Detailed Description


Define Documentation

#define DtREGISTER_TEMPLATE_WITH_FACTORY_BY_NAME (   CreationKey,
  ProductClass,
  CreatableClass,
  TemplateParam 
)
Value:
static MAKRti::DtString DtRegistered##CreatableClass##With##ProductClass##FactoryByKey##CreationKey## = \
   DtPluggableFactory< MAKRti::DtString, ProductClass >::registerCreator( CreationKey, &CreatableClass<TemplateParam>::create );
#define DtREGISTER_TEMPLATE_WITH_FACTORY_BY_NAME_WITH_PARAM (   CreationKey,
  ProductClass,
  CreatableClass,
  TemplateParam,
  CreatorParam 
)
Value:
static MAKRti::DtString DtRegistered##CreatableClass##With##ProductClass##FactoryByKey##CreationKey##WithParam = \
   DtPluggableFactory< MAKRti::DtString, ProductClass, CreatorParam >::registerCreator( CreationKey, &CreatableClass<TemplateParam>::create );
#define DtREGISTER_WITH_FACTORY_BY_CLASSNAME (   ProductClass,
  CreatableClass 
)
Value:
static MAKRti::DtString DtRegistered##CreatableClass##With##ProductClass##FactoryByName = \
   DtPluggableFactory< MAKRti::DtString, ProductClass >::registerCreator( #CreatableClass, &CreatableClass::create );

Helper macro which registers a class with the factory by name Note: Cannot automatically register templates by class name since classname includes type (and type may not be valid in var name "unsigned int")

#define DtREGISTER_WITH_FACTORY_BY_CLASSNAME_WITH_PARAM (   ProductClass,
  CreatableClass,
  CreatorParam 
)
Value:
static MAKRti::DtString DtRegistered##CreatableClass##With##ProductClass##FactoryByNameWithParam = \
   DtPluggableFactory< MAKRti::DtString, ProductClass, CreatorParam >::registerCreator( #CreatableClass, &CreatableClass::create );

Helper macro which registers a class with the factory by name (for classes with ctors which take 1 parameter) Note: Cannot automatically register templates by class name since classname includes type (and type may not be valid in var name "unsigned int")

#define DtREGISTER_WITH_FACTORY_BY_NAME (   CreationKey,
  ProductClass,
  CreatableClass 
)
Value:
static MAKRti::DtString DtRegistered##CreatableClass##With##ProductClass##FactoryByKey##CreationKey## = \
   DtPluggableFactory< MAKRti::DtString, ProductClass >::registerCreator( CreationKey, &CreatableClass::create );
#define DtREGISTER_WITH_FACTORY_BY_NAME_WITH_PARAM (   CreationKey,
  ProductClass,
  CreatableClass,
  CreatorParam 
)
Value:
static MAKRti::DtString DtRegistered##CreatableClass##With##ProductClass##FactoryByKey##CreationKey##WithParam = \
   DtPluggableFactory< MAKRti::DtString, ProductClass, CreatorParam >::registerCreator( CreationKey, &CreatableClass::create );

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)