Logo
ApraPipes 1.0
Loading...
Searching...
No Matches
ModuleFactory Class Reference

#include <ModuleFactory.h>

Collaboration diagram for ModuleFactory:
Collaboration graph

Public Member Functions

ModuleremoveModule (int id, size_t type_id)
 
void registerType (size_t type_id, boost::function< Module *()> make)
 
template<class ... args>
ModulecreateModule (int id, size_t type_id, args &&... a)
 

Private Types

using id_and_hash = std::pair<int, size_t>
 

Private Attributes

TypeFactory< Module *, size_t, boost::function< Module *()> > factory
 
boost::container::flat_map< id_and_hash, Module * > modules_map
 

Member Typedef Documentation

◆ id_and_hash

using ModuleFactory::id_and_hash = std::pair<int, size_t>
private

Member Function Documentation

◆ createModule()

template<class ... args>
Module * ModuleFactory::createModule ( int id,
size_t type_id,
args &&... a )
inline

◆ registerType()

void ModuleFactory::registerType ( size_t type_id,
boost::function< Module *()> make )

◆ removeModule()

Module * ModuleFactory::removeModule ( int id,
size_t type_id )

Member Data Documentation

◆ factory

TypeFactory<Module*, size_t, boost::function<Module*()> > ModuleFactory::factory
private

◆ modules_map

boost::container::flat_map<id_and_hash, Module*> ModuleFactory::modules_map
private

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