All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Static Public Member Functions | Static Private Member Functions | List of all members
util::details::ProvenanceGetter< Handle, Enable > Class Template Reference

#include <ArtHandleTrackerManager.h>

Static Public Member Functions

static std::string productClass (Handle const &handle)
 Returns the name of the class pointed by the handle. More...
 
static std::type_info const * productType ()
 Returns the C++ type of the handled data product. More...
 
static std::type_info const * productType (Handle const &)
 Returns the C++ type of the handled data product. More...
 
static art::InputTag inputTag (Handle const &handle)
 

Static Private Member Functions

static art::Provenance const * provenance (Handle const &handle)
 

Detailed Description

template<typename Handle, typename Enable = void>
class util::details::ProvenanceGetter< Handle, Enable >

Helper to extract basic information from one handle. The default implementation supports art::Handle and art::ValidHandle.

Definition at line 649 of file ArtHandleTrackerManager.h.

Member Function Documentation

template<typename Handle , typename Enable = void>
static art::InputTag util::details::ProvenanceGetter< Handle, Enable >::inputTag ( Handle const &  handle)
inlinestatic

Returns the input tag of the handled data product. Deferred implementation of inputTag().

Definition at line 689 of file ArtHandleTrackerManager.h.

690  {
691  auto const* prov = provenance(handle);
692  return prov? prov->inputTag(): art::InputTag{};
693  }
static art::Provenance const * provenance(Handle const &handle)
template<typename Handle , typename Enable = void>
static std::string util::details::ProvenanceGetter< Handle, Enable >::productClass ( Handle const &  handle)
inlinestatic

Returns the name of the class pointed by the handle.

Definition at line 673 of file ArtHandleTrackerManager.h.

674  {
675  auto const* prov = provenance(handle);
676  return prov? prov->producedClassName(): "";
677  }
static art::Provenance const * provenance(Handle const &handle)
template<typename Handle , typename Enable = void>
static std::type_info const* util::details::ProvenanceGetter< Handle, Enable >::productType ( )
inlinestatic

Returns the C++ type of the handled data product.

Definition at line 680 of file ArtHandleTrackerManager.h.

681  { return &typeid(typename Handle::element_type); }
template<typename Handle , typename Enable = void>
static std::type_info const* util::details::ProvenanceGetter< Handle, Enable >::productType ( Handle const &  )
inlinestatic

Returns the C++ type of the handled data product.

Definition at line 684 of file ArtHandleTrackerManager.h.

685  { return productType(); }
static std::type_info const * productType()
Returns the C++ type of the handled data product.
template<typename Handle , typename Enable = void>
static art::Provenance const* util::details::ProvenanceGetter< Handle, Enable >::provenance ( Handle const &  handle)
inlinestaticprivate

Definition at line 668 of file ArtHandleTrackerManager.h.

669  { return handle.provenance(); }

The documentation for this class was generated from the following file: