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, TClassDataclasses_
 

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 23 of file ClassFactory.h.

Member Typedef Documentation

◆ Ptr

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

Definition at line 26 of file ClassFactory.h.

Member Function Documentation

◆ create() [1/2]

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 40 of file ClassFactory.h.

◆ create() [2/2]

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 55 of file ClassFactory.h.

◆ do_register()

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 35 of file ClassFactory.h.

Member Data Documentation

◆ classes_

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

Definition at line 72 of file ClassFactory.h.


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


mvsim
Author(s):
autogenerated on Tue Jul 4 2023 03:08:23