CUBRID Engine  latest
cubbase::factory< object_key, object_base > Class Template Reference

#include <object_factory.hpp>

Collaboration diagram for cubbase::factory< object_key, object_base >:
Collaboration graph

Public Member Functions

template<typename object_type >
int register_creator (object_key k, std::function< object_base *()> object_creator=default_creator< object_type >)
 
object_base * create_object (object_key k)
 

Static Private Member Functions

template<typename object_type >
static object_base * default_creator ()
 

Private Attributes

std::map< object_key, std::function< object_base *()> > m_creators_map
 

Detailed Description

template<typename object_key, typename object_base>
class cubbase::factory< object_key, object_base >

Definition at line 39 of file object_factory.hpp.

Member Function Documentation

template<typename object_key , typename object_base >
object_base* cubbase::factory< object_key, object_base >::create_object ( object_key  k)
inline
template<typename object_key , typename object_base >
template<typename object_type >
static object_base* cubbase::factory< object_key, object_base >::default_creator ( )
inlinestaticprivate

Definition at line 70 of file object_factory.hpp.

template<typename object_key , typename object_base >
template<typename object_type >
int cubbase::factory< object_key, object_base >::register_creator ( object_key  k,
std::function< object_base *()>  object_creator = default_creator <object_type> 
)
inline

Member Data Documentation

template<typename object_key , typename object_base >
std::map<object_key, std::function <object_base*()> > cubbase::factory< object_key, object_base >::m_creators_map
private

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