LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore > Class Template Reference

#include "ProducerTable.h"

Inheritance diagram for art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore >:
fhicl::ConfigurationTable

Classes

struct  FullConfig
 

Public Member Functions

 ProducerTable (fhicl::Name &&name)
 
 ProducerTable (fhicl::ParameterSet const &pset)
 
auto const & operator() () const
 
auto const & get_PSet () const
 
void print_allowed_configuration (std::ostream &os, std::string const &prefix) const
 
cet::exempt_ptr< fhicl::detail::ParameterBase const > parameter_base () const
 

Private Types

using KeysToIgnore_t = std::conditional_t< std::is_void< UserKeysToIgnore >::value, typename ImplicitConfig::IgnoreKeys, fhicl::KeysToIgnore< typename ImplicitConfig::IgnoreKeys, UserKeysToIgnore >>
 

Private Member Functions

cet::exempt_ptr< fhicl::detail::ParameterBase const > get_parameter_base () const override
 

Private Attributes

fhicl::Table< FullConfig< UserConfig, ImplicitConfig >, KeysToIgnore_tfullConfig_
 

Detailed Description

template<typename UserConfig, typename ImplicitConfig, typename UserKeysToIgnore = void>
class art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore >

Definition at line 19 of file ProducerTable.h.

Member Typedef Documentation

template<typename UserConfig, typename ImplicitConfig, typename UserKeysToIgnore = void>
using art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore >::KeysToIgnore_t = std::conditional_t< std::is_void<UserKeysToIgnore>::value, typename ImplicitConfig::IgnoreKeys, fhicl::KeysToIgnore<typename ImplicitConfig::IgnoreKeys, UserKeysToIgnore>>
private

Definition at line 33 of file ProducerTable.h.

Constructor & Destructor Documentation

template<typename UserConfig, typename ImplicitConfig, typename UserKeysToIgnore = void>
art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore >::ProducerTable ( fhicl::Name &&  name)
inlineexplicit

Definition at line 36 of file ProducerTable.h.

36 : fullConfig_{std::move(name)} {}
fhicl::Table< FullConfig< UserConfig, ImplicitConfig >, KeysToIgnore_t > fullConfig_
Definition: ProducerTable.h:68
template<typename UserConfig, typename ImplicitConfig, typename UserKeysToIgnore = void>
art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore >::ProducerTable ( fhicl::ParameterSet const &  pset)
inline

Definition at line 37 of file ProducerTable.h.

37 : fullConfig_{pset} {}
fhicl::Table< FullConfig< UserConfig, ImplicitConfig >, KeysToIgnore_t > fullConfig_
Definition: ProducerTable.h:68

Member Function Documentation

template<typename UserConfig, typename ImplicitConfig, typename UserKeysToIgnore = void>
cet::exempt_ptr<fhicl::detail::ParameterBase const> art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore >::get_parameter_base ( ) const
inlineoverrideprivatevirtual

Implements fhicl::ConfigurationTable.

Definition at line 61 of file ProducerTable.h.

References art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore >::fullConfig_.

62  {
63  return &fullConfig_;
64  }
fhicl::Table< FullConfig< UserConfig, ImplicitConfig >, KeysToIgnore_t > fullConfig_
Definition: ProducerTable.h:68
template<typename UserConfig, typename ImplicitConfig, typename UserKeysToIgnore = void>
auto const& art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore >::get_PSet ( ) const
inline
template<typename UserConfig, typename ImplicitConfig, typename UserKeysToIgnore = void>
auto const& art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore >::operator() ( ) const
inline

Definition at line 41 of file ProducerTable.h.

References art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore >::fullConfig_.

42  {
43  return fullConfig_().user();
44  }
fhicl::Table< FullConfig< UserConfig, ImplicitConfig >, KeysToIgnore_t > fullConfig_
Definition: ProducerTable.h:68
cet::exempt_ptr<fhicl::detail::ParameterBase const> fhicl::ConfigurationTable::parameter_base ( ) const
inlineinherited

Definition at line 19 of file ConfigurationTable.h.

20  {
21  return get_parameter_base();
22  }
virtual cet::exempt_ptr< fhicl::detail::ParameterBase const > get_parameter_base() const =0
template<typename UserConfig, typename ImplicitConfig, typename UserKeysToIgnore = void>
void art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore >::print_allowed_configuration ( std::ostream &  os,
std::string const &  prefix 
) const
inline

Definition at line 53 of file ProducerTable.h.

References art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore >::fullConfig_.

Referenced by art::operator<<().

55  {
56  fullConfig_.print_allowed_configuration(os, prefix);
57  }
fhicl::Table< FullConfig< UserConfig, ImplicitConfig >, KeysToIgnore_t > fullConfig_
Definition: ProducerTable.h:68

Member Data Documentation


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