1 #ifndef gallery_Handle_h 2 #define gallery_Handle_h 24 explicit Handle(std::shared_ptr<art::Exception const>);
31 T const*
product()
const noexcept(
false);
36 std::shared_ptr<art::Exception const>
whyFailed()
const noexcept;
81 return prod_ !=
nullptr;
92 inline std::shared_ptr<art::Exception const>
106 <<
"Attempt to dereference invalid Handle with no stored exception\n" 107 <<
"Maybe you forgot to call getByLabel before dereferencing\n";
std::shared_ptr< art::Exception const > whyFailed_
T const * product() const noexcept(false)
art::ProductID id() const noexcept
std::shared_ptr< art::Exception const > whyFailed() const noexcept
bool isValid() const noexcept
art::ProductID productID_
void throwHandleWhyFailed_() const noexcept(false)
T const & operator*() const noexcept(false)
T const * operator->() const noexcept(false)
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
static constexpr ProductID invalid() noexcept
Handle & operator=(Handle const &)=default