28 template<
typename RETURN,
typename KEY,
typename... Args>
39 using map_t = std::map<key_t, createHandler>;
65 return map_.insert(
typename map_t::value_type(key, ch)).second;
96 typename map_t::const_iterator ita = map_.find(key);
99 if(ita == map_.end()) {
100 std::cerr <<
"Error Unknown Type ID" << std::endl;
105 return (ita->second(std::forward<Args>(args)...));
RETURN * create(const key_t key, Args &&... args)
Definition: factory.hh:94
RETURN *(*)(Args... args) createHandler
Function pointer type for creation method.
Definition: factory.hh:33
KEY key_t
Map key type.
Definition: factory.hh:36
static Factory_ & instance()
Definition: factory.hh:51
bool registerType(const key_t key, const createHandler ch)
Definition: factory.hh:64
Factory_ & operator=(const Factory_ &)=delete
Assignment operator (hidden)
Factory_ provides a generic object factory class.
Definition: factory.hh:29
std::map< key_t, createHandler > map_t
Map type to associate ids and creation methods.
Definition: factory.hh:39
Definition: default_node.hh:20