PaCO++  0.05
paco_fabrique_manager_tpl< T > Class Template Reference

#include <FabriqueManagerTpl.h>

List of all members.

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

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

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

Definition at line 19 of file FabriqueManagerTpl.h.

References paco_fabrique_manager_tpl< T >::_fab_map.

{ _fab_map.clear(); }
template<class T >
virtual paco_fabrique_manager_tpl< T >::~paco_fabrique_manager_tpl ( ) [inline, virtual]

Definition at line 21 of file FabriqueManagerTpl.h.

{};

Member Function Documentation

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

Definition at line 40 of file FabriqueManagerTpl.h.

References paco_fabrique_manager_tpl< T >::_fab_map.

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

  {
    typename fab_map_t::iterator it = _fab_map.find(fabname);
    
    if (it == _fab_map.end() )
      {
   // Debug
   std::cerr << "Error: fab not found -- " << fabname << std::endl;
   std::abort();
      }
    else
      {
   return  it->second;
      }
   
  }
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.

References paco_fabrique_manager_tpl< T >::_fab_map.

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

  {    
    typename fab_map_t::iterator it = _fab_map.find(fabname);
    
    if (it == _fab_map.end() )
      {
   // Debug
   // cout << "Adding fab " << fabname << endl;
   _fab_map[fabname] = pf;
      }
    else
      {
   // Debug
   // cout << "Ignoring: already register fab " << fabname << endl;
      }
  }

Member Data Documentation


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