/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
FWCore/Framework/interface/one/OutputModule.h
69 строк
3 KB
Chris Jones
Added noexcept to methods called by async functions
04 май 2024, 16:18
04 май 2024, 16:18
5b1d5a1
Код
Авторство
О чём код?
#ifndef FWCore_Framework_one_OutputModule_h #define FWCore_Framework_one_OutputModule_h // -*- C++ -*- // // Package: FWCore/Framework // Class : edm::one::OutputModule // /**\class edm::one::OutputModule OutputModule.h "FWCore/Framework/interface/one/OutputModule.h" Description: [one line class summary] Usage: <usage> */ // // Original Author: Chris Jones // Created: Wed, 31 Jul 2013 18:21:29 GMT // // system include files // user include files #include "FWCore/Framework/interface/one/outputmoduleAbilityToImplementor.h" // forward declarations namespace edm { namespace one { template <typename... T> class OutputModule : public virtual OutputModuleBase, public outputmodule::AbilityToImplementor<T>::Type... { public: OutputModule(edm::ParameterSet const& iPSet) : OutputModuleBase(iPSet), outputmodule::AbilityToImplementor<T>::Type(iPSet)... {} OutputModule(const OutputModule&) = delete; // stop default const OutputModule& operator=(const OutputModule&) = delete; // stop default // Required to work around ICC bug, but possible source of bloat in gcc. // We do this only in the case of the intel compiler as this might end up // creating a lot of code bloat due to inline symbols being generated in // each DSO which uses this header. #ifdef __INTEL_COMPILER virtual ~OutputModule() = default; #endif // ---------- const member functions --------------------- bool wantsProcessBlocks() const noexcept final { return WantsProcessBlockTransitions<T...>::value; } bool wantsInputProcessBlocks() const noexcept final { return WantsInputProcessBlockTransitions<T...>::value; } bool wantsGlobalRuns() const noexcept final { return WantsGlobalRunTransitions<T...>::value; } bool wantsGlobalLuminosityBlocks() const noexcept final { return WantsGlobalLuminosityBlockTransitions<T...>::value; } SerialTaskQueue* globalRunsQueue() final { return globalRunsQueue_.queue(); } SerialTaskQueue* globalLuminosityBlocksQueue() final { return globalLuminosityBlocksQueue_.queue(); } // ---------- static member functions -------------------- // ---------- member functions --------------------------- private: // ---------- member data -------------------------------- impl::OptionalSerialTaskQueueHolder<WantsSerialGlobalRunTransitions<T...>::value> globalRunsQueue_; impl::OptionalSerialTaskQueueHolder<WantsSerialGlobalLuminosityBlockTransitions<T...>::value> globalLuminosityBlocksQueue_; }; } // namespace one } // namespace edm #endif