1 #ifndef DataFormats_Common_HandleBase_h 2 #define DataFormats_Common_HandleBase_h 47 product_(prod), prov_(prov) {
57 whyFailedFactory_.reset();
75 return product_ && prov_;
79 return bool(whyFailedFactory_);
93 HandleBase(std::shared_ptr<HandleExceptionFactory>&& iWhyFailed) :
96 whyFailedFactory_(iWhyFailed) {}
102 whyFailedFactory_ =
std::move(rhs.whyFailedFactory_);
107 if(whyFailedFactory_.get()) {
108 return whyFailedFactory_->make();
110 return std::shared_ptr<cms::Exception>();
113 std::shared_ptr<HandleExceptionFactory>
const&
116 explicit operator bool ()
const {
121 return not isValid();
126 void const* productStorage()
const;
std::shared_ptr< HandleExceptionFactory > const & whyFailedFactory() const
std::shared_ptr< HandleExceptionFactory > whyFailedFactory_
void swap(HandleBase &a, HandleBase &b)
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
HandleBase(std::shared_ptr< HandleExceptionFactory > &&iWhyFailed)
Used when the attempt to get the data failed.
void swap(HandleBase &other)
Namespace of DDCMS conversion namespace.
HandleBase & operator=(HandleBase &&rhs)
std::shared_ptr< cms::Exception > whyFailed() const
HandleBase(void const *prod, Provenance const *prov)
Provenance const * provenance() const
HandleBase & operator=(HandleBase const &rhs)