/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
FWCore/Framework/src/EventSetupRecordIntervalFinder.cc
68 строк
2 KB
Chris Jones
Remove support for non-concurrent Record Interval Finders
01 июл 2026, 22:16
01 июл 2026, 22:16
f22dfcb
Код
Авторство
О чём код?
// -*- C++ -*- // // Package: Framework // Class : EventSetupRecordIntervalFinder // // Implementation: // <Notes on implementation> // // Author: Chris Jones // Created: Wed Mar 30 14:27:26 EST 2005 // #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h" #include "FWCore/Utilities/interface/Likely.h" #include <cassert> #include <mutex> using namespace edm::eventsetup; namespace edm { EventSetupRecordIntervalFinder::~EventSetupRecordIntervalFinder() noexcept(false) {} const ValidityInterval& EventSetupRecordIntervalFinder::findIntervalFor(const EventSetupRecordKey& iKey, const IOVSyncValue& iInstance) { Intervals::iterator itFound = intervals_.find(iKey); assert(itFound != intervals_.end()); if (!itFound->second.validFor(iInstance)) { if LIKELY (iInstance != IOVSyncValue::invalidIOVSyncValue()) { setIntervalFor(iKey, iInstance, itFound->second); } else { itFound->second = ValidityInterval::invalidInterval(); } } return itFound->second; } void EventSetupRecordIntervalFinder::resetInterval(const eventsetup::EventSetupRecordKey& iKey) { Intervals::iterator itFound = intervals_.find(iKey); assert(itFound != intervals_.end()); itFound->second = ValidityInterval{}; doResetInterval(iKey); } void EventSetupRecordIntervalFinder::findingRecordWithKey(const EventSetupRecordKey& iKey) { intervals_.insert(Intervals::value_type(iKey, ValidityInterval())); } void EventSetupRecordIntervalFinder::doResetInterval(const eventsetup::EventSetupRecordKey&) {} bool EventSetupRecordIntervalFinder::isConcurrentFinder() const { return false; } void EventSetupRecordIntervalFinder::delaySettingRecords() {} std::set<EventSetupRecordKey> EventSetupRecordIntervalFinder::findingForRecords() const { if (intervals_.empty()) { //we are delaying our reading const_cast<EventSetupRecordIntervalFinder*>(this)->delaySettingRecords(); } std::set<EventSetupRecordKey> returnValue; for (Intervals::const_iterator itEntry = intervals_.begin(), itEntryEnd = intervals_.end(); itEntry != itEntryEnd; ++itEntry) { returnValue.insert(returnValue.end(), itEntry->first); } return returnValue; } } // namespace edm