#include <ESProxyFactoryProducer.h>
Definition at line 76 of file ESProxyFactoryProducer.h.
◆ EventSetupRecordKey
◆ ESProxyFactoryProducer() [1/2]
ESProxyFactoryProducer::ESProxyFactoryProducer |
( |
| ) |
|
Definition at line 30 of file ESProxyFactoryProducer.cc.
std::multimap< EventSetupRecordKey, eventsetup::FactoryInfo > record2Factories_
◆ ESProxyFactoryProducer() [2/2]
◆ ~ESProxyFactoryProducer()
ESProxyFactoryProducer::~ESProxyFactoryProducer |
( |
| ) |
|
|
overridenoexcept |
◆ operator=()
◆ registerFactory()
template<class TFactory >
void edm::ESProxyFactoryProducer::registerFactory |
( |
std::unique_ptr< TFactory > |
iFactory, |
|
|
const std::string & |
iLabel = std::string() |
|
) |
| |
|
inlineprotected |
◆ registerFactoryWithKey()
Reimplemented in edm::ESProducerLooper.
Definition at line 48 of file ESProxyFactoryProducer.cc.
References cms::cuda::assert(), Exception, beamvalidation::exit(), info(), eostools::move(), FastTimerService_cff::range, record2Factories_, groupFilesInBlocks::temp, and edm::eventsetup::DataProxyProvider::usingRecordWithKey().
Referenced by registerFactory(), and edm::ESProducerLooper::registerFactoryWithKey().
51 if (
nullptr == iFactory.get()) {
52 assert(
false &&
"Factor pointer was null");
58 std::shared_ptr<ProxyFactoryBase>
temp(iFactory.release());
62 std::pair<Record2Factories::const_iterator, Record2Factories::const_iterator>
range =
65 std::find_if(
range.first,
range.second, [&
info](
const auto& r2f) { return r2f.second.key_ == info.key_; })) {
67 <<
"Producer has been asked to produce " <<
info.key_.type().name() <<
" \"" <<
info.key_.name().value()
68 <<
"\" multiple times.\n Please modify the code.";
void usingRecordWithKey(const EventSetupRecordKey &key)
Container::value_type value_type
std::multimap< EventSetupRecordKey, eventsetup::FactoryInfo > record2Factories_
◆ registerProxies()
Implements edm::eventsetup::DataProxyProvider.
Definition at line 34 of file ESProxyFactoryProducer.cc.
References FastTimerService_cff::range, and record2Factories_.
37 using Iterator = Record2Factories::iterator;
40 std::shared_ptr<DataProxy> proxy(it->second.factory_->makeProxy(iovIndex).release());
41 if (
nullptr != proxy.get()) {
42 keyedProxiesVector.emplace_back((*it).second.key_, proxy);
45 return keyedProxiesVector;
std::multimap< EventSetupRecordKey, eventsetup::FactoryInfo > record2Factories_
std::vector< std::pair< DataKey, std::shared_ptr< DataProxy > >> KeyedProxiesVector
◆ record2Factories_