1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#ifndef FWCore_Framework_ESModuleConsumesMinimalInfo_h
#define FWCore_Framework_ESModuleConsumesMinimalInfo_h
// -*- C++ -*-
// Package: FWCore/Framework
// Class : ESModuleConsumesMinimalInfo
// Minimal information about the consumes call for an EventSetup product by an ESModule
#include "FWCore/Utilities/interface/ESIndices.h"
#include "FWCore/Framework/interface/EventSetupRecordKey.h"
#include "FWCore/Framework/interface/DataKey.h"
#include <string_view>
namespace edm::eventsetup {
struct ESModuleConsumesMinimalInfo {
ESModuleConsumesMinimalInfo(unsigned int iProduceMethodID,
eventsetup::EventSetupRecordKey const& iRecord,
eventsetup::DataKey const& iDataKey,
std::string_view iComponentLabel)
: recordForDataKey_(iRecord),
dataKey_(iDataKey.type(), iDataKey.name(), eventsetup::DataKey::DoNotCopyMemory()),
componentLabel_(iComponentLabel),
produceMethodID_(iProduceMethodID) {}
ESModuleConsumesMinimalInfo() = default;
ESModuleConsumesMinimalInfo(ESModuleConsumesMinimalInfo&&) = default;
ESModuleConsumesMinimalInfo& operator=(ESModuleConsumesMinimalInfo&&) = default;
// avoid accidentally copying data key as the strings would be copied instead of shared
ESModuleConsumesMinimalInfo(ESModuleConsumesMinimalInfo const&) = delete;
ESModuleConsumesMinimalInfo& operator=(ESModuleConsumesMinimalInfo const&) = delete;
eventsetup::EventSetupRecordKey recordForDataKey_;
eventsetup::DataKey dataKey_;
std::string_view componentLabel_;
unsigned int produceMethodID_ = 0;
};
} // namespace edm::eventsetup
#endif // FWCore_Framework_ESModuleConsumesMinimalInfo_h
|