FWCore
Framework
src
WorkerRegistry.h
Go to the documentation of this file.
1
#ifndef Framework_WorkerRegistry_h
2
#define Framework_WorkerRegistry_h
3
12
#include <memory>
13
14
#include <map>
15
#include <string>
16
17
#include "
FWCore/Utilities/interface/propagate_const.h
"
18
19
namespace
edm
{
20
21
class
Worker;
22
class
ActivityRegistry
;
23
struct
WorkerParams;
24
class
ModuleRegistry;
25
class
ParameterSet
;
26
namespace
maker {
27
class
ModuleHolder;
28
}
29
38
class
WorkerRegistry
{
39
public
:
40
explicit
WorkerRegistry
(std::shared_ptr<ActivityRegistry> areg);
41
WorkerRegistry
(std::shared_ptr<ActivityRegistry> areg, std::shared_ptr<ModuleRegistry> iModReg);
42
~WorkerRegistry
();
43
44
WorkerRegistry
(
WorkerRegistry
&&) =
default
;
45
WorkerRegistry
(
WorkerRegistry
const
&) =
delete
;
// Disallow copying and moving
46
WorkerRegistry
&
operator=
(
WorkerRegistry
const
&) =
delete
;
// Disallow copying and moving
47
49
52
Worker
*
getWorker
(
WorkerParams
const
&
p
,
std::string
const
&
moduleLabel
);
53
void
clear
();
54
55
private
:
57
typedef
std::map<std::string, edm::propagate_const<std::shared_ptr<Worker>>>
WorkerMap
;
58
59
edm::propagate_const<std::shared_ptr<ModuleRegistry>
>
modRegistry_
;
60
62
WorkerMap
m_workerMap
;
63
std::shared_ptr<ActivityRegistry>
actReg_
;
// We do not use propagate_const because the registry itself is mutable.
64
65
};
// WorkerRegistry
66
67
}
// namespace edm
68
69
#endif
edm::WorkerRegistry::operator=
WorkerRegistry & operator=(WorkerRegistry const &)=delete
ActivityRegistry
propagate_const.h
edm
HLT enums.
Definition:
AlignableModifier.h:19
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
edm::WorkerRegistry::m_workerMap
WorkerMap m_workerMap
internal map of registered workers (owned).
Definition:
WorkerRegistry.h:62
edm::WorkerRegistry::clear
void clear()
Definition:
WorkerRegistry.cc:26
edm::WorkerRegistry::WorkerRegistry
WorkerRegistry(std::shared_ptr< ActivityRegistry > areg)
Definition:
WorkerRegistry.cc:18
edm::propagate_const
Definition:
propagate_const.h:32
edm::WorkerRegistry::getWorker
Worker * getWorker(WorkerParams const &p, std::string const &moduleLabel)
Retrieve the particular instance of the worker.
Definition:
WorkerRegistry.cc:28
edm::Worker
Definition:
Worker.h:83
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
ParameterSet
Definition:
Functions.h:16
edm::WorkerParams
Definition:
WorkerParams.h:22
edm::WorkerRegistry::actReg_
std::shared_ptr< ActivityRegistry > actReg_
Definition:
WorkerRegistry.h:63
edm::WorkerRegistry
The Registry of all workers that where requested Holds all instances of workers. In this implementati...
Definition:
WorkerRegistry.h:38
edm::WorkerRegistry::WorkerMap
std::map< std::string, edm::propagate_const< std::shared_ptr< Worker > > > WorkerMap
the container of workers
Definition:
WorkerRegistry.h:57
edm::WorkerRegistry::modRegistry_
edm::propagate_const< std::shared_ptr< ModuleRegistry > > modRegistry_
Definition:
WorkerRegistry.h:59
HerwigMaxPtPartonFilter_cfi.moduleLabel
moduleLabel
Definition:
HerwigMaxPtPartonFilter_cfi.py:4
edm::WorkerRegistry::~WorkerRegistry
~WorkerRegistry()
Definition:
WorkerRegistry.cc:24
Generated for CMSSW Reference Manual by
1.8.16