mbsim  4.0.0
MBSim Kernel
MBSim::ObjectFactory Class Reference

#include <objectfactory.h>

Static Public Member Functions

template<class ContainerType >
static ContainerType * createAndInit (const xercesc::DOMElement *element)
 
static void addErrorMsg (const std::string &msg)
 
static std::string getAndClearErrorMsg ()
 

Private Types

typedef std::pair< const AllocateBase *, const DeallocateBase * > AllocDeallocPair
 
typedef std::vector< AllocDeallocPair > AllocDeallocVector
 
typedef AllocDeallocVector::iterator AllocDeallocVectorIt
 
typedef std::map< MBXMLUtils::FQN, AllocDeallocVector > NameMap
 
typedef NameMap::iterator NameMapIt
 

Static Private Member Functions

static ObjectFactoryinstance ()
 

Private Attributes

NameMap registeredType
 

Static Private Attributes

static std::string errorMsg
 

Friends

void registerClass_internal (const MBXMLUtils::FQN &name, const AllocateBase *alloc, const DeallocateBase *dealloc)
 
void deregisterClass_internal (const MBXMLUtils::FQN &name, const AllocateBase *alloc)
 

Detailed Description

A object factory. A object factory which creates any object derived from fmatvec::Atom.

Member Function Documentation

◆ createAndInit()

template<class ContainerType >
ContainerType * MBSim::ObjectFactory::createAndInit ( const xercesc::DOMElement *  element)
static

Create and initialize an object corresponding to the XML element element and return a pointer of type ContainerType. Throws if the created object is not of type ContainerType or no object can be create without errors.


The documentation for this class was generated from the following files: