LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
art::ProductTable Struct Reference

#include "ProductTables.h"

Public Member Functions

 ProductTable ()=default
 
 ProductTable (ProductDescriptions const &descriptions, BranchType bt)
 
cet::exempt_ptr< BranchDescription const > description (ProductID) const
 

Public Attributes

bool isValid {false}
 
ProductDescriptionsByID descriptions {}
 
ProductLookup_t productLookup {}
 
ViewLookup_t viewLookup {}
 

Detailed Description

Definition at line 18 of file ProductTables.h.

Constructor & Destructor Documentation

art::ProductTable::ProductTable ( )
default
art::ProductTable::ProductTable ( ProductDescriptions const &  descriptions,
BranchType  bt 
)
explicit

Definition at line 42 of file ProductTables.cc.

References art::detail::createProductLookups(), art::detail::createViewLookups(), productLookup, and viewLookup.

44  : isValid{true}
45  , descriptions{descriptions_for_branch_type(bt, descs)}
48 {}
ProductDescriptionsByID descriptions
Definition: ProductTables.h:27
ViewLookup_t createViewLookups(ProductDescriptionsByID const &descriptions)
ProductLookup_t createProductLookups(ProductDescriptionsByID const &descriptions)
ViewLookup_t viewLookup
Definition: ProductTables.h:29
ProductLookup_t productLookup
Definition: ProductTables.h:28

Member Function Documentation

cet::exempt_ptr< art::BranchDescription const > art::ProductTable::description ( ProductID  pid) const

Definition at line 51 of file ProductTables.cc.

References util::cend().

52 {
53  if (auto it = descriptions.find(pid); it != cend(descriptions)) {
54  return cet::make_exempt_ptr(&it->second);
55  }
56  return nullptr;
57 }
decltype(auto) constexpr cend(T &&obj)
ADL-aware version of std::cend.
Definition: StdUtils.h:93
ProductDescriptionsByID descriptions
Definition: ProductTables.h:27

Member Data Documentation

ProductDescriptionsByID art::ProductTable::descriptions {}

Definition at line 27 of file ProductTables.h.

bool art::ProductTable::isValid {false}

Definition at line 26 of file ProductTables.h.

ProductLookup_t art::ProductTable::productLookup {}

Definition at line 28 of file ProductTables.h.

Referenced by ProductTable().

ViewLookup_t art::ProductTable::viewLookup {}

Definition at line 29 of file ProductTables.h.

Referenced by ProductTable().


The documentation for this struct was generated from the following files: