LCIO
02.17
|
Holds instances of all types of SIOObjectHandlers. More...
#include <SIOHandlerMgr.h>
Public Member Functions | |
SIOHandlerMgr () | |
~SIOHandlerMgr ()=default | |
std::shared_ptr< SIOObjectHandler > | getHandler (const std::string &type) const |
Returns the instance of the handler for the given type - null if it doesn't exist. More... | |
void | registerHandler (const std::string &type, std::unique_ptr< SIOObjectHandler > handler) |
Registers an instance of a handler for the given type. More... | |
Private Types | |
typedef std::map< std::string, std::shared_ptr < SIOObjectHandler > > | SIOHandlerMap |
Private Attributes | |
SIOHandlerMap | _map {} |
The handler map. More... | |
Holds instances of all types of SIOObjectHandlers.
New types need to have their handler classes registered here.
Definition at line 20 of file SIOHandlerMgr.h.
|
private |
Definition at line 21 of file SIOHandlerMgr.h.
SIO::SIOHandlerMgr::SIOHandlerMgr | ( | ) |
Definition at line 28 of file SIOHandlerMgr.cc.
References _map.
|
default |
std::shared_ptr< SIOObjectHandler > SIO::SIOHandlerMgr::getHandler | ( | const std::string & | type | ) | const |
Returns the instance of the handler for the given type - null if it doesn't exist.
Definition at line 57 of file SIOHandlerMgr.cc.
References _map, std::map< K, T >::end(), and std::map< K, T >::find().
Referenced by IOIMPL::LCEventLazyImpl::setupBlocks(), and SIO::SIOEventRecord::setupBlocks().
void SIO::SIOHandlerMgr::registerHandler | ( | const std::string & | type, |
std::unique_ptr< SIOObjectHandler > | handler | ||
) |
Registers an instance of a handler for the given type.
Fails if type name allready exists.
Definition at line 67 of file SIOHandlerMgr.cc.
References _map, std::map< K, T >::end(), and std::map< K, T >::find().
|
private |
The handler map.
Definition at line 37 of file SIOHandlerMgr.h.
Referenced by getHandler(), registerHandler(), and SIOHandlerMgr().