PaCO++  0.05
paco_fabrique_manager_tpl< T > Class Template Reference

#include <FabriqueManagerTpl.h>

Collaboration diagram for paco_fabrique_manager_tpl< T >:
Collaboration graph

Public Member Functions

 paco_fabrique_manager_tpl ()
 
T * paco_get (const ::std::string &fabname)
 
void paco_register (const ::std::string &fabname, T *pf)
 
virtual ~paco_fabrique_manager_tpl ()
 

Protected Types

typedef std::map< std::string, T * > fab_map_t
 

Protected Attributes

fab_map_t _fab_map
 

Detailed Description

template<class T>
class paco_fabrique_manager_tpl< T >

Definition at line 11 of file FabriqueManagerTpl.h.

Member Typedef Documentation

◆ fab_map_t

template<class T >
typedef std::map<std::string, T*> paco_fabrique_manager_tpl< T >::fab_map_t
protected

Definition at line 14 of file FabriqueManagerTpl.h.

Constructor & Destructor Documentation

◆ paco_fabrique_manager_tpl()

template<class T >
paco_fabrique_manager_tpl< T >::paco_fabrique_manager_tpl ( )
inline

Definition at line 19 of file FabriqueManagerTpl.h.

19 { _fab_map.clear(); }

◆ ~paco_fabrique_manager_tpl()

template<class T >
virtual paco_fabrique_manager_tpl< T >::~paco_fabrique_manager_tpl ( )
inlinevirtual

Definition at line 21 of file FabriqueManagerTpl.h.

21 {};

Member Function Documentation

◆ paco_get()

template<class T >
T* paco_fabrique_manager_tpl< T >::paco_get ( const ::std::string &  fabname)
inline

Definition at line 40 of file FabriqueManagerTpl.h.

Referenced by paco_fabrique_manager::get_com(), paco_fabrique_manager::get_comScheduling(), paco_fabrique_manager::get_distribution(), and paco_fabrique_manager::get_thread().

41  {
42  typename fab_map_t::iterator it = _fab_map.find(fabname);
43 
44  if (it == _fab_map.end() )
45  {
46  // Debug
47  std::cerr << "Error: fab not found -- " << fabname << std::endl;
48  std::abort();
49  }
50  else
51  {
52  return it->second;
53  }
54 
55  }

◆ paco_register()

template<class T >
void paco_fabrique_manager_tpl< T >::paco_register ( const ::std::string &  fabname,
T *  pf 
)
inline

Definition at line 23 of file FabriqueManagerTpl.h.

Referenced by paco_fabrique_manager::register_com(), paco_fabrique_manager::register_comScheduling(), paco_fabrique_manager::register_distribution(), and paco_fabrique_manager::register_thread().

24  {
25  typename fab_map_t::iterator it = _fab_map.find(fabname);
26 
27  if (it == _fab_map.end() )
28  {
29  // Debug
30  // cout << "Adding fab " << fabname << endl;
31  _fab_map[fabname] = pf;
32  }
33  else
34  {
35  // Debug
36  // cout << "Ignoring: already register fab " << fabname << endl;
37  }
38  }

Member Data Documentation

◆ _fab_map

template<class T >
fab_map_t paco_fabrique_manager_tpl< T >::_fab_map
protected

Definition at line 15 of file FabriqueManagerTpl.h.


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