CMS 3D CMS Logo

ESSourceDataProxyBase.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: FWCore/Framework
4 // Class : __class__
5 //
6 // Implementation:
7 // [Notes on implementation]
8 //
9 // Original Author: __author__
10 // Created: __date__
11 //
12 
13 // system include files
14 
15 // user include files
20 
21 //
22 // member functions
23 //
24 
26  m_waitingList.add(std::move(iTask));
27  bool expected = false;
28  return m_prefetching.compare_exchange_strong(expected, true);
29 }
30 
32  edm::eventsetup::DataKey const& iKey,
33  edm::ESParentContext const& iParent) {
35  iRecord.activityRegistry()->preESModuleSignal_.emit(iRecord.key(), context);
36  struct EndGuard {
37  EndGuard(EventSetupRecordImpl const& iRecord, ESModuleCallingContext const& iContext)
38  : record_{iRecord}, context_{iContext} {}
39  ~EndGuard() { record_.activityRegistry()->postESModuleSignal_.emit(record_.key(), context_); }
40  EventSetupRecordImpl const& record_;
41  ESModuleCallingContext const& context_;
42  } guardAR(iRecord, context);
43  prefetch(iKey, EventSetupRecordDetails(&iRecord));
44 }
45 
46 //
47 // const member functions
48 //
49 
50 //
51 // static member functions
52 //
void emit(Args &&... args) const
Definition: Signal.h:48
void add(oneapi::tbb::task_group *, WaitingTask *)
Adds task to the waiting list.
void doPrefetchAndSignals(edm::eventsetup::EventSetupRecordImpl const &, edm::eventsetup::DataKey const &iKey, edm::ESParentContext const &)
EventSetupRecordKey const & key() const
PreESModule preESModuleSignal_
bool needToPrefetch(edm::WaitingTaskHolder iTask)
def move(src, dest)
Definition: eostools.py:511
ActivityRegistry const * activityRegistry() const noexcept