/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
FWCore/Framework/interface/ESWatcher.h
74 строки
2 KB
Shahzad Malik Muzaffar
[FWCore][clang-tidy] make deleted function public
28 июл 2021, 13:34
28 июл 2021, 13:34
39ca1cd
Код
Авторство
О чём код?
#ifndef Framework_ESWatcher_h #define Framework_ESWatcher_h // -*- C++ -*- // // Package: Framework // Class : ESWatcher // /**\class ESWatcher ESWatcher.h FWCore/Framework/interface/ESWatcher.h Description: Watches an EventSetup Record and reports when it changes Usage: <usage> */ // // Original Author: Chris Jones // Created: Fri Sep 22 18:19:24 EDT 2006 // // system include files #include <functional> // user include files #include "FWCore/Framework/interface/EventSetup.h" // forward declarations namespace edm { template <class T> class ESWatcher { public: struct NullFunction { void operator()(const T&) {} }; ESWatcher() : callback_(NullFunction()), cacheId_(0) {} template <class TFunc> ESWatcher(TFunc iFunctor) : callback_(iFunctor), cacheId_(0) {} template <class TObj, class TMemFunc> ESWatcher(TObj const& iObj, TMemFunc iFunc) : callback_(std::bind(iFunc, iObj, std::placeholders::_1)), cacheId_(0) {} ESWatcher(const ESWatcher&) = delete; // stop default const ESWatcher& operator=(const ESWatcher&) = delete; // stop default //virtual ~ESWatcher(); // ---------- const member functions --------------------- // ---------- static member functions -------------------- // ---------- member functions --------------------------- bool check(const edm::EventSetup& iSetup) { const T& record = iSetup.template get<T>(); bool result = cacheId_ != record.cacheIdentifier(); if (result) { callback_(record); } cacheId_ = record.cacheIdentifier(); return result; } private: // ---------- member data -------------------------------- std::function<void(const T&)> callback_; unsigned long long cacheId_; }; } // namespace edm #endif