LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "type_traits.h"
Public Types | |
using | ftype = std::tuple< std::shared_ptr< tt::fhicl_type< TYPES >>... > |
using | value_type = std::tuple< tt::return_type< TYPES >... > |
Public Member Functions | |
OptionalTuple (Name &&name) | |
OptionalTuple (Name &&name, Comment &&comment) | |
OptionalTuple (Name &&name, Comment &&comment, std::function< bool()> maybeUse) | |
bool | operator() (value_type &) const |
bool | hasValue () const |
bool | empty () const |
std::size_t | size () const |
void | prepare_elements_for_validation (std::size_t const n) |
void | walk_elements (ParameterWalker< tt::const_flavor::require_non_const > &pw) |
void | walk_elements (ParameterWalker< tt::const_flavor::require_const > &pw) const |
std::string | key () const |
std::string | name () const |
std::string | comment () const |
bool | has_default () const |
bool | is_optional () const |
bool | is_conditional () const |
par_type | parameter_type () const |
bool | should_use () const |
void | set_value (fhicl::ParameterSet const &ps, bool trimParents) |
void | set_par_style (par_style const vt) |
void | set_key (std::string const &key) |
Private Types | |
using | PW_non_const = detail::ParameterWalker< tt::const_flavor::require_non_const > |
using | PW_const = detail::ParameterWalker< tt::const_flavor::require_const > |
using | TUPLE = std::tuple< tt::fhicl_type< TYPES >... > |
Private Member Functions | |
std::size_t | get_size () const override |
void | visit_element (PW_non_const &) |
template<typename E , typename... T> | |
void | visit_element (PW_non_const &pw, E &elem, T &...others) |
template<std::size_t... I> | |
void | iterate_over_tuple (PW_non_const &pw, std::index_sequence< I... >) |
void | do_prepare_elements_for_validation (std::size_t const n) override |
void | do_walk_elements (PW_non_const &pw) override |
void | visit_element (PW_const &) const |
template<typename E , typename... T> | |
void | visit_element (PW_const &pw, E const &elem, T const &...others) const |
template<std::size_t... I> | |
void | iterate_over_tuple (PW_const &pw, std::index_sequence< I... >) const |
void | do_walk_elements (PW_const &pw) const override |
void | finalize_tuple_elements (std::size_t) |
template<typename E , typename... T> | |
void | finalize_tuple_elements (std::size_t i, E &elem, T &...others) |
template<std::size_t... I> | |
void | finalize_elements (std::index_sequence< I... >) |
template<size_t I, typename value_type > | |
std::enable_if_t<(I >=std::tuple_size< TUPLE >::value)> | fill_return_element (value_type &) const |
template<size_t I, typename value_type > | |
std::enable_if_t<(I< std::tuple_size< TUPLE >::value)> | fill_return_element (value_type &result) const |
void | assemble_rtype (value_type &result) const |
void | do_set_value (fhicl::ParameterSet const &, bool const ) override |
Private Attributes | |
ftype | value_ |
bool | has_value_ {false} |
Definition at line 40 of file type_traits.h.
using fhicl::OptionalTuple< TYPES >::ftype = std::tuple<std::shared_ptr<tt::fhicl_type<TYPES>>...> |
Definition at line 30 of file OptionalTuple.h.
|
private |
Definition at line 61 of file OptionalTuple.h.
|
private |
Definition at line 60 of file OptionalTuple.h.
|
private |
Definition at line 163 of file OptionalTuple.h.
using fhicl::OptionalTuple< TYPES >::value_type = std::tuple<tt::return_type<TYPES>...> |
Definition at line 31 of file OptionalTuple.h.
|
explicit |
|
explicit |
Definition at line 206 of file OptionalTuple.h.
References fhicl::detail::AlwaysUse(), fhicl::detail::ParameterBase::comment(), fhicl::NameStackRegistry::end_of_ctor(), fhicl::OptionalTuple< TYPES >::finalize_elements(), fhicl::detail::ParameterBase::name(), fhicl::OPTIONAL, fhicl::detail::RegisterIfTableMember::RegisterIfTableMember(), and fhicl::TUPLE.
|
explicit |
Definition at line 219 of file OptionalTuple.h.
References fhicl::detail::ParameterBase::comment(), fhicl::NameStackRegistry::end_of_ctor(), fhicl::OptionalTuple< TYPES >::finalize_elements(), fhicl::detail::ParameterBase::name(), fhicl::OPTIONAL_CONDITIONAL, fhicl::detail::RegisterIfTableMember::RegisterIfTableMember(), and fhicl::TUPLE.
|
inlineprivate |
Definition at line 179 of file OptionalTuple.h.
Referenced by fhicl::OptionalTuple< TYPES >::operator()().
|
inlineinherited |
Definition at line 54 of file ParameterBase.h.
References fhicl::detail::ParameterMetadata::comment(), and fhicl::detail::ParameterBase::mdata_.
Referenced by fhicl::detail::AtomBase::AtomBase(), fhicl::detail::PrintAllowedConfiguration::before_action(), fhicl::detail::DelegateBase::DelegateBase(), fhicl::DelegatedParameter::DelegatedParameter(), fhicl::OptionalDelegatedParameter::OptionalDelegatedParameter(), fhicl::OptionalTuple< TYPES >::OptionalTuple(), fhicl::detail::ParameterBase::ParameterBase(), fhicl::detail::SequenceBase::SequenceBase(), fhicl::detail::TableBase::TableBase(), and fhicl::Tuple< TYPES >::Tuple().
|
inlineoverrideprivatevirtual |
Implements fhicl::detail::SequenceBase.
Definition at line 90 of file OptionalTuple.h.
|
inlineoverrideprivatevirtual |
|
inlineoverrideprivatevirtual |
Implements fhicl::detail::SequenceBase.
Definition at line 96 of file OptionalTuple.h.
|
inlineoverrideprivatevirtual |
Implements fhicl::detail::SequenceBase.
Definition at line 128 of file OptionalTuple.h.
|
inlineinherited |
Definition at line 29 of file SequenceBase.h.
References fhicl::detail::SequenceBase::size().
Referenced by fhicl::detail::PrintAllowedConfiguration::enter_sequence().
|
inlineprivate |
Definition at line 167 of file OptionalTuple.h.
|
inlineprivate |
Definition at line 172 of file OptionalTuple.h.
|
inlineprivate |
Definition at line 155 of file OptionalTuple.h.
Referenced by fhicl::OptionalTuple< TYPES >::OptionalTuple().
|
inlineprivate |
Definition at line 135 of file OptionalTuple.h.
Referenced by fhicl::OptionalTuple< ARGS... >::finalize_elements(), and fhicl::OptionalTuple< ARGS... >::finalize_tuple_elements().
|
inlineprivate |
Definition at line 140 of file OptionalTuple.h.
|
inlineoverrideprivatevirtual |
Implements fhicl::detail::SequenceBase.
Definition at line 52 of file OptionalTuple.h.
Referenced by fhicl::OptionalTuple< ARGS... >::do_prepare_elements_for_validation().
|
inlineinherited |
Definition at line 59 of file ParameterBase.h.
References fhicl::detail::ParameterMetadata::has_default(), and fhicl::detail::ParameterBase::mdata_.
Referenced by fhicl::detail::PrintAllowedConfiguration::after_action(), fhicl::detail::ValidateThenSet::before_action(), and fhicl::detail::PrintAllowedConfiguration::enter_sequence().
|
inline |
Definition at line 42 of file OptionalTuple.h.
|
inlineinherited |
Definition at line 69 of file ParameterBase.h.
References fhicl::detail::ParameterMetadata::is_conditional(), and fhicl::detail::ParameterBase::mdata_.
Referenced by fhicl::detail::PrintAllowedConfiguration::after_action(), and fhicl::detail::PrintAllowedConfiguration::before_action().
|
inlineinherited |
Definition at line 64 of file ParameterBase.h.
References fhicl::detail::ParameterMetadata::is_optional(), and fhicl::detail::ParameterBase::mdata_.
Referenced by fhicl::detail::PrintAllowedConfiguration::after_action(), fhicl::detail::ValidateThenSet::before_action(), fhicl::detail::PrintAllowedConfiguration::before_action(), and evgen::MARLEYHelper::fhicl_parameter_to_json().
|
inlineprivate |
Definition at line 84 of file OptionalTuple.h.
Referenced by fhicl::OptionalTuple< ARGS... >::do_walk_elements().
|
inlineprivate |
Definition at line 122 of file OptionalTuple.h.
|
inlineinherited |
Definition at line 44 of file ParameterBase.h.
References fhicl::detail::ParameterMetadata::key(), and fhicl::detail::ParameterBase::mdata_.
Referenced by fhicl::detail::PrintAllowedConfiguration::after_action(), fhicl::detail::ValidateThenSet::before_action(), fhicl::detail::PrintAllowedConfiguration::before_action(), fhicl::detail::SearchAllowedConfiguration::before_action(), fhicl::detail::PrintAllowedConfiguration::cacheTopLevelParameter(), detinfo::LArPropertiesStandard::Configure(), fhicl::OptionalSequence< Table< T >< art::RootInputFileSequence::Config::SecondaryFile > >::do_prepare_elements_for_validation(), fhicl::OptionalTuple< ARGS... >::do_prepare_elements_for_validation(), fhicl::OptionalSequence< T,-1ull >::do_prepare_elements_for_validation(), fhicl::detail::ValidateThenSet::enter_sequence(), fhicl::detail::PrintAllowedConfiguration::enter_sequence(), evgen::MARLEYHelper::fhicl_parameter_to_json(), fhicl::detail::SearchAllowedConfiguration::form_absolute(), fhicl::DelegatedParameter::get(), fhicl::OptionalDelegatedParameter::get_if_present(), fhicl::OptionalDelegatedParameter::hasValue(), fhicl::detail::MaybeDisplayParent::is_sequence_element(), fhicl::detail::PrintAllowedConfiguration::maybeReleaseTopLevelParameter(), fhicl::detail::RegisterIfTableMember::RegisterIfTableMember(), and fhicl::detail::PrintAllowedConfiguration::suppressFormat().
|
inlineinherited |
Definition at line 49 of file ParameterBase.h.
References fhicl::detail::ParameterBase::mdata_, and fhicl::detail::ParameterMetadata::name().
Referenced by fhicl::detail::AtomBase::AtomBase(), fhicl::detail::DelegateBase::DelegateBase(), fhicl::detail::ValidateThenSet::delegated_parameter(), fhicl::DelegatedParameter::DelegatedParameter(), fhicl::OptionalDelegatedParameter::OptionalDelegatedParameter(), fhicl::OptionalTuple< TYPES >::OptionalTuple(), fhicl::detail::ParameterBase::ParameterBase(), fhicl::detail::SequenceBase::SequenceBase(), fhicl::detail::TableBase::TableBase(), and fhicl::Tuple< TYPES >::Tuple().
bool fhicl::OptionalTuple< TYPES >::operator() | ( | value_type & | r | ) | const |
Definition at line 235 of file OptionalTuple.h.
References fhicl::OptionalTuple< TYPES >::assemble_rtype(), and fhicl::OptionalTuple< TYPES >::has_value_.
|
inlineinherited |
Definition at line 74 of file ParameterBase.h.
References fhicl::detail::ParameterBase::mdata_, and fhicl::detail::ParameterMetadata::type().
Referenced by fhicl::detail::PrintAllowedConfiguration::after_action(), fhicl::detail::PrintAllowedConfiguration::enter_sequence(), evgen::MARLEYHelper::fhicl_parameter_to_json(), fhicl::detail::SearchAllowedConfiguration::form_absolute(), and fhicl::detail::RegisterIfTableMember::RegisterIfTableMember().
|
inlineinherited |
Definition at line 40 of file SequenceBase.h.
References fhicl::detail::SequenceBase::do_prepare_elements_for_validation().
Referenced by fhicl::detail::ValidateThenSet::enter_sequence().
|
inlineinherited |
Definition at line 106 of file ParameterBase.h.
References fhicl::detail::ParameterBase::do_set_value(), fhicl::detail::ParameterBase::mdata_, and fhicl::detail::ParameterMetadata::set_key().
|
inlineinherited |
Definition at line 101 of file ParameterBase.h.
References fhicl::detail::ParameterBase::mdata_, and fhicl::detail::ParameterMetadata::set_par_style().
Referenced by art::RootOutput::Config::Config().
|
inlineinherited |
Definition at line 96 of file ParameterBase.h.
References fhicl::detail::ParameterBase::do_set_value().
Referenced by fhicl::detail::ValidateThenSet::after_action().
|
inlineinherited |
Definition at line 79 of file ParameterBase.h.
References fhicl::detail::ParameterBase::maybeUse_.
Referenced by fhicl::detail::ValidateThenSet::before_action(), and evgen::MARLEYHelper::fhicl_parameter_to_json().
|
inlineinherited |
Definition at line 34 of file SequenceBase.h.
References fhicl::detail::SequenceBase::get_size().
Referenced by fhicl::detail::SequenceBase::empty(), and fhicl::detail::PrintAllowedConfiguration::enter_sequence().
|
inlineprivate |
Definition at line 64 of file OptionalTuple.h.
Referenced by fhicl::OptionalTuple< ARGS... >::iterate_over_tuple(), and fhicl::OptionalTuple< ARGS... >::visit_element().
|
inlineprivate |
Definition at line 69 of file OptionalTuple.h.
|
inlineprivate |
Definition at line 102 of file OptionalTuple.h.
|
inlineprivate |
Definition at line 107 of file OptionalTuple.h.
|
inlineinherited |
Definition at line 45 of file SequenceBase.h.
References fhicl::detail::SequenceBase::do_walk_elements().
|
inlineinherited |
Definition at line 50 of file SequenceBase.h.
References fhicl::detail::SequenceBase::do_prepare_elements_for_validation(), fhicl::detail::SequenceBase::do_walk_elements(), and fhicl::detail::SequenceBase::get_size().
|
private |
Definition at line 49 of file OptionalTuple.h.
Referenced by fhicl::OptionalTuple< ARGS... >::do_set_value(), fhicl::OptionalTuple< ARGS... >::hasValue(), and fhicl::OptionalTuple< TYPES >::operator()().
|
private |
Definition at line 48 of file OptionalTuple.h.