Classes | Public Types | Public Member Functions | Private Attributes | List of all members
mvsim::ClassFactory< CLASS, ARG1, ARG2 > Class Template Reference

#include <ClassFactory.h>

Classes

struct  TClassData
 

Public Types

using Ptr = std::shared_ptr< CLASS >
 

Public Member Functions

Ptr create (const std::string &class_name, ARG1 a1) const
 
Ptr create (const std::string &class_name, ARG1 a1, ARG2 a2) const
 
void do_register (const std::string &class_name, const TClassData &data)
 

Private Attributes

std::map< std::string, TClassDatam_classes
 

Detailed Description

template<class CLASS, typename ARG1 = void, typename ARG2 = int>
class mvsim::ClassFactory< CLASS, ARG1, ARG2 >

Templatized-class factory for mvsim objects. Does not explicitly handle multi-threading.

Definition at line 22 of file ClassFactory.h.

Member Typedef Documentation

template<class CLASS , typename ARG1 = void, typename ARG2 = int>
using mvsim::ClassFactory< CLASS, ARG1, ARG2 >::Ptr = std::shared_ptr<CLASS>

Definition at line 25 of file ClassFactory.h.

Member Function Documentation

template<class CLASS , typename ARG1 = void, typename ARG2 = int>
Ptr mvsim::ClassFactory< CLASS, ARG1, ARG2 >::create ( const std::string class_name,
ARG1  a1 
) const
inline

Definition at line 39 of file ClassFactory.h.

template<class CLASS , typename ARG1 = void, typename ARG2 = int>
Ptr mvsim::ClassFactory< CLASS, ARG1, ARG2 >::create ( const std::string class_name,
ARG1  a1,
ARG2  a2 
) const
inline

Definition at line 54 of file ClassFactory.h.

template<class CLASS , typename ARG1 = void, typename ARG2 = int>
void mvsim::ClassFactory< CLASS, ARG1, ARG2 >::do_register ( const std::string class_name,
const TClassData data 
)
inline

Definition at line 34 of file ClassFactory.h.

Member Data Documentation

template<class CLASS , typename ARG1 = void, typename ARG2 = int>
std::map<std::string, TClassData> mvsim::ClassFactory< CLASS, ARG1, ARG2 >::m_classes
private

Definition at line 71 of file ClassFactory.h.


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


mvsim
Author(s):
autogenerated on Fri May 7 2021 03:05:52