64 typedef Record2Factories::iterator
Iterator;
66 for (Iterator it = range.first; it != range.second; ++it) {
67 std::shared_ptr<DataProxy> proxy(it->second.factory_->makeProxy().release());
68 if (
nullptr != proxy.get()) {
75 std::unique_ptr<ProxyFactoryBase> iFactory,
77 if (
nullptr == iFactory.get()) {
78 assert(
false &&
"Factor pointer was null");
84 std::shared_ptr<ProxyFactoryBase>
temp(iFactory.release());
88 std::pair<Record2Factories::const_iterator, Record2Factories::const_iterator> range =
91 std::find_if(range.first, range.second, [&
info](
const auto& r2f) { return r2f.second.key_ == info.key_; })) {
93 <<
"Producer has been asked to produce " <<
info.key_.type().name() <<
" \"" <<
info.key_.name().value()
94 <<
"\" multiple times.\n Please modify the code.";
void usingRecordWithKey(const EventSetupRecordKey &)
std::vector< std::pair< DataKey, edm::propagate_const< std::shared_ptr< DataProxy > > > > KeyedProxies
Container::value_type value_type
void invalidateProxies(const EventSetupRecordKey &iRecordKey)
~ESProxyFactoryProducer() noexcept(false) override
virtual void registerFactoryWithKey(const eventsetup::EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
std::multimap< EventSetupRecordKey, FactoryInfo > Record2Factories
void registerProxies(const eventsetup::EventSetupRecordKey &iRecord, KeyedProxies &aProxyList) override
override DataProxyProvider method
void newInterval(const eventsetup::EventSetupRecordKey &iRecordType, const ValidityInterval &iInterval) override
overrides DataProxyProvider method
std::multimap< eventsetup::EventSetupRecordKey, eventsetup::FactoryInfo > record2Factories_