DataFormats
Common
src
ProductData.cc
Go to the documentation of this file.
1
/*----------------------------------------------------------------------
2
----------------------------------------------------------------------*/
3
#include "
DataFormats/Common/interface/ProductData.h
"
4
5
#include "
DataFormats/Provenance/interface/ProductID.h
"
6
#include "
DataFormats/Common/interface/WrapperBase.h
"
7
#include "
FWCore/Utilities/interface/do_nothing_deleter.h
"
8
9
#include <algorithm>
10
11
namespace
edm
{
12
ProductData::ProductData
() : wrapper_(), prov_() {}
13
14
ProductData::ProductData
(std::shared_ptr<BranchDescription const> bd) : wrapper_(), prov_(bd,
ProductID
()) {}
15
16
// For use by FWLite
17
ProductData::ProductData
(
WrapperBase
* product,
Provenance
const
& prov)
18
: wrapper_(product,
do_nothing_deleter
()), prov_(prov) {}
19
20
void
ProductData::resetBranchDescription
(std::shared_ptr<BranchDescription const> bd) {
21
prov_
.
setBranchDescription
(bd);
22
}
23
24
void
ProductData::setWrapper
(std::unique_ptr<WrapperBase> iValue) {
wrapper_
=
std::move
(iValue); }
25
26
//Not const thread-safe update
27
void
ProductData::unsafe_setWrapper
(std::unique_ptr<WrapperBase> iValue)
const
{
wrapper_
=
std::move
(iValue); }
28
29
void
ProductData::unsafe_setWrapper
(std::shared_ptr<WrapperBase const> iValue)
const
{
wrapper_
=
std::move
(iValue); }
30
}
// namespace edm
edm::ProductData::ProductData
ProductData()
Definition:
ProductData.cc:12
edm::ProductData::wrapper_
std::shared_ptr< WrapperBase const > wrapper_
Definition:
ProductData.h:71
edm
HLT enums.
Definition:
AlignableModifier.h:19
edm::do_nothing_deleter
Definition:
do_nothing_deleter.h:34
edm::Provenance::setBranchDescription
void setBranchDescription(std::shared_ptr< BranchDescription const > const &p)
Definition:
Provenance.h:87
edm::ProductData::resetBranchDescription
void resetBranchDescription(std::shared_ptr< BranchDescription const > bd)
Definition:
ProductData.cc:20
edm::ProductData::setWrapper
void setWrapper(std::unique_ptr< WrapperBase > iValue)
Definition:
ProductData.cc:24
ProductID.h
WrapperBase.h
edm::ProductData::prov_
Provenance prov_
Definition:
ProductData.h:72
ProductData.h
edm::WrapperBase
Definition:
WrapperBase.h:23
eostools.move
def move(src, dest)
Definition:
eostools.py:511
edm::Provenance
Definition:
Provenance.h:34
do_nothing_deleter.h
edm::ProductID
Definition:
ProductID.h:27
edm::ProductData::unsafe_setWrapper
void unsafe_setWrapper(std::unique_ptr< WrapperBase > iValue) const
Definition:
ProductData.cc:27
Generated for CMSSW Reference Manual by
1.8.16