LCIO
02.17
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
cpp
include
SIO
SIOHandlerMgr.h
Go to the documentation of this file.
1
#ifndef SIO_SIOHANDLERMGR_H
2
#define SIO_SIOHANDLERMGR_H 1
3
4
// -- std headers
5
#include <
map
>
6
#include <
string
>
7
#include <
memory
>
8
9
// -- lcio headers
10
#include "
SIO/SIOObjectHandler.h
"
11
12
namespace
SIO {
13
20
class
SIOHandlerMgr
{
21
typedef
std::map< std::string, std::shared_ptr<SIOObjectHandler>
>
SIOHandlerMap
;
22
public
:
23
SIOHandlerMgr
() ;
24
~SIOHandlerMgr
() = default ;
25
28
std::shared_ptr<SIOObjectHandler>
getHandler
(
const
std::string
& type )
const
;
29
33
void
registerHandler
(
const
std::string
& type,
std::unique_ptr<SIOObjectHandler>
handler ) ;
34
35
private
:
37
SIOHandlerMap
_map
{};
38
};
// class
39
40
}
// namespace
41
#endif
/* ifndef SIO_SIOHANDLERMGR_H */
SIO::SIOHandlerMgr::SIOHandlerMgr
SIOHandlerMgr()
Definition:
SIOHandlerMgr.cc:28
std::shared_ptr< SIOObjectHandler >
map
std::string
STL class.
SIO::SIOHandlerMgr::SIOHandlerMap
std::map< std::string, std::shared_ptr< SIOObjectHandler > > SIOHandlerMap
Definition:
SIOHandlerMgr.h:21
string
memory
std::unique_ptr
STL class.
SIO::SIOHandlerMgr::registerHandler
void registerHandler(const std::string &type, std::unique_ptr< SIOObjectHandler > handler)
Registers an instance of a handler for the given type.
Definition:
SIOHandlerMgr.cc:67
SIO::SIOHandlerMgr::_map
SIOHandlerMap _map
The handler map.
Definition:
SIOHandlerMgr.h:37
SIO::SIOHandlerMgr
Holds instances of all types of SIOObjectHandlers.
Definition:
SIOHandlerMgr.h:20
SIO::SIOHandlerMgr::~SIOHandlerMgr
~SIOHandlerMgr()=default
SIO::SIOHandlerMgr::getHandler
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.
Definition:
SIOHandlerMgr.cc:57
SIOObjectHandler.h
Generated on Thu Dec 16 2021 15:42:54 for LCIO by
1.8.5