/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
FWCore/Framework/src/DelayedReader.cc
39 строк
1 KB
Chris Jones
Made DelayedReader return a std::shared_ptr
02 апр 2021, 23:47
02 апр 2021, 23:47
ca24207
Код
Авторство
О чём код?
#include "FWCore/Framework/interface/DelayedReader.h" #include "FWCore/Framework/interface/SharedResourcesAcquirer.h" #include "FWCore/ServiceRegistry/interface/ModuleCallingContext.h" #include "FWCore/ServiceRegistry/interface/StreamContext.h" #include "FWCore/Utilities/interface/Signal.h" #include <mutex> #include <cassert> /*---------------------------------------------------------------------- ----------------------------------------------------------------------*/ namespace edm { DelayedReader::~DelayedReader() {} std::shared_ptr<WrapperBase> DelayedReader::getProduct(BranchID const& k, EDProductGetter const* ep, ModuleCallingContext const* mcc) { auto preSignal = preEventReadFromSourceSignal(); if (mcc and preSignal) { preSignal->emit(*(mcc->getStreamContext()), *mcc); } auto postSignal = postEventReadFromSourceSignal(); auto sentryCall = [&postSignal](ModuleCallingContext const* iContext) { if (postSignal) { postSignal->emit(*(iContext->getStreamContext()), *iContext); } }; std::unique_ptr<ModuleCallingContext const, decltype(sentryCall)> sentry(mcc, sentryCall); return getProduct_(k, ep); } std::pair<SharedResourcesAcquirer*, std::recursive_mutex*> DelayedReader::sharedResources_() const { return std::pair<SharedResourcesAcquirer*, std::recursive_mutex*>(nullptr, nullptr); } } // namespace edm