LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "type_traits.h"
Public Types | |
using | ftype = std::tuple< std::shared_ptr< tt::fhicl_type< T >>... > |
using | value_type = std::tuple< tt::return_type< T >... > |
Public Member Functions | |
OptionalTuple (Name &&name) | |
OptionalTuple (Name &&name, Comment &&comment) | |
OptionalTuple (Name &&name, Comment &&comment, std::function< bool()> maybeUse) | |
auto | operator() () const -> std::optional< value_type > |
auto | operator() (value_type &) const -> bool |
bool | hasValue () const |
bool | empty () const noexcept |
std::size_t | size () const noexcept |
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 const & | key () const |
std::string const & | name () const |
std::string const & | 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 | preset_value (fhicl::ParameterSet const &ps) |
void | set_par_style (par_style const vt) |
Private Types | |
using | PW_non_const = detail::ParameterWalker< tt::const_flavor::require_non_const > |
using | PW_const = detail::ParameterWalker< tt::const_flavor::require_const > |
Private Member Functions | |
std::size_t | get_size () const noexcept override |
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 |
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 |
template<std::size_t I> | |
void | finalize_element () |
template<std::size_t... I> | |
void | finalize_elements (std::index_sequence< I... >) |
template<std::size_t... I> | |
value_type | get_rtype_result (std::index_sequence< I... >) const |
void | do_set_value (fhicl::ParameterSet const &) override |
Private Attributes | |
ftype | value_ |
bool | has_value_ {false} |
Definition at line 40 of file type_traits.h.
using fhicl::OptionalTuple< T >::ftype = std::tuple<std::shared_ptr<tt::fhicl_type<T>>...> |
Definition at line 31 of file OptionalTuple.h.
|
private |
Definition at line 73 of file OptionalTuple.h.
|
private |
Definition at line 72 of file OptionalTuple.h.
using fhicl::OptionalTuple< T >::value_type = std::tuple<tt::return_type<T>...> |
Definition at line 32 of file OptionalTuple.h.
|
explicit |
|
explicit |
Definition at line 155 of file OptionalTuple.h.
References fhicl::detail::AlwaysUse(), fhicl::detail::ParameterBase::comment(), fhicl::NameStackRegistry::end_of_ctor(), fhicl::OptionalTuple< T >::finalize_elements(), fhicl::detail::ParameterBase::name(), fhicl::OPTIONAL, fhicl::detail::RegisterIfTableMember::RegisterIfTableMember(), and fhicl::TUPLE.
|
explicit |
Definition at line 168 of file OptionalTuple.h.
References fhicl::detail::ParameterBase::comment(), fhicl::NameStackRegistry::end_of_ctor(), fhicl::OptionalTuple< T >::finalize_elements(), fhicl::detail::ParameterBase::name(), fhicl::OPTIONAL_CONDITIONAL, fhicl::detail::RegisterIfTableMember::RegisterIfTableMember(), and fhicl::TUPLE.
|
inherited |
Definition at line 16 of file ParameterBase.cc.
References fhicl::detail::ParameterMetadata::comment(), and fhicl::detail::ParameterBase::mdata_.
Referenced by fhicl::Atom< T >::Atom(), fhicl::detail::AtomBase::AtomBase(), fhicl::detail::PrintAllowedConfiguration::before_action(), fhicl::detail::DelegateBase::DelegateBase(), fhicl::DelegatedParameter::DelegatedParameter(), fhicl::OptionalAtom< T >::OptionalAtom(), fhicl::OptionalDelegatedParameter::OptionalDelegatedParameter(), fhicl::OptionalSequence< T, N >::OptionalSequence(), fhicl::OptionalSequence< T,-1ull >::OptionalSequence(), fhicl::OptionalTable< T >::OptionalTable(), fhicl::OptionalTuple< T >::OptionalTuple(), fhicl::detail::ParameterBase::ParameterBase(), fhicl::Sequence< T, N >::Sequence(), fhicl::Sequence< T,-1ull >::Sequence(), fhicl::detail::SequenceBase::SequenceBase(), fhicl::Table< T, KeysToIgnore >::Table(), fhicl::detail::TableBase::TableBase(), and fhicl::Tuple< T >::Tuple().
|
inlineoverrideprivatevirtual |
Implements fhicl::detail::SequenceBase.
Definition at line 83 of file OptionalTuple.h.
|
inlineoverrideprivatevirtual |
|
inlineoverrideprivatevirtual |
Implements fhicl::detail::SequenceBase.
Definition at line 89 of file OptionalTuple.h.
|
inlineoverrideprivatevirtual |
Implements fhicl::detail::SequenceBase.
Definition at line 102 of file OptionalTuple.h.
|
inlinenoexceptinherited |
Definition at line 28 of file SequenceBase.h.
References fhicl::detail::SequenceBase::size().
Referenced by fhicl::detail::PrintAllowedConfiguration::enter_sequence().
|
inlineprivate |
Definition at line 111 of file OptionalTuple.h.
|
inlineprivate |
Definition at line 120 of file OptionalTuple.h.
Referenced by fhicl::OptionalTuple< T >::OptionalTuple().
|
inlineprivate |
Definition at line 129 of file OptionalTuple.h.
Referenced by fhicl::OptionalTuple< T >::operator()().
|
inlineoverrideprivatevirtualnoexcept |
Implements fhicl::detail::SequenceBase.
Definition at line 64 of file OptionalTuple.h.
Referenced by fhicl::OptionalTuple< ARGS... >::do_prepare_elements_for_validation().
|
inherited |
Definition at line 21 of file ParameterBase.cc.
References fhicl::detail::ParameterMetadata::has_default(), and fhicl::detail::ParameterBase::mdata_.
Referenced by fhicl::detail::PrintAllowedConfiguration::after_action(), fhicl::detail::ValidateThenSet::before_action(), fhicl::Atom< T >::do_set_value(), fhicl::detail::PrintAllowedConfiguration::enter_sequence(), fhicl::Atom< T >::get_stringified_value(), and fhicl::TableAs< T, Config >::operator()().
|
inline |
Definition at line 54 of file OptionalTuple.h.
|
inherited |
Definition at line 31 of file ParameterBase.cc.
References fhicl::detail::ParameterMetadata::is_conditional(), and fhicl::detail::ParameterBase::mdata_.
Referenced by fhicl::detail::PrintAllowedConfiguration::after_action(), and fhicl::detail::PrintAllowedConfiguration::before_action().
|
inherited |
Definition at line 26 of file ParameterBase.cc.
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 fhicl::detail::TableBase::do_set_value().
|
inlineprivate |
Definition at line 77 of file OptionalTuple.h.
Referenced by fhicl::OptionalTuple< ARGS... >::do_walk_elements().
|
inlineprivate |
Definition at line 96 of file OptionalTuple.h.
|
inherited |
Definition at line 6 of file ParameterBase.cc.
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::OptionalTuple< ARGS... >::do_prepare_elements_for_validation(), fhicl::OptionalSequence< art::InputTag >::do_prepare_elements_for_validation(), fhicl::OptionalSequence< T,-1ull >::do_prepare_elements_for_validation(), fhicl::OptionalSequence< T, N >::do_preset_value(), fhicl::OptionalSequence< T,-1ull >::do_preset_value(), fhicl::Atom< T >::do_set_value(), fhicl::OptionalAtom< T >::do_set_value(), fhicl::detail::ValidateThenSet::enter_sequence(), fhicl::detail::PrintAllowedConfiguration::enter_sequence(), fhicl::detail::SearchAllowedConfiguration::form_absolute(), fhicl::DelegatedParameter::get(), fhicl::OptionalDelegatedParameter::get_if_present(), fhicl::OptionalDelegatedParameter::hasValue(), fhicl::detail::MaybeDisplayParent::is_sequence_element(), fhicl::detail::TableBase::maybe_select_pset(), fhicl::detail::PrintAllowedConfiguration::maybeReleaseTopLevelParameter(), fhicl::detail::RegisterIfTableMember::RegisterIfTableMember(), fhicl::detail::TableBase::select_pset(), and fhicl::detail::PrintAllowedConfiguration::suppressFormat().
|
inherited |
Definition at line 11 of file ParameterBase.cc.
References fhicl::detail::ParameterBase::mdata_, and fhicl::detail::ParameterMetadata::name().
Referenced by fhicl::Atom< T >::Atom(), fhicl::detail::AtomBase::AtomBase(), fhicl::detail::DelegateBase::DelegateBase(), fhicl::detail::ValidateThenSet::delegated_parameter(), fhicl::DelegatedParameter::DelegatedParameter(), fhicl::OptionalAtom< T >::OptionalAtom(), fhicl::OptionalDelegatedParameter::OptionalDelegatedParameter(), fhicl::OptionalSequence< T, N >::OptionalSequence(), fhicl::OptionalSequence< T,-1ull >::OptionalSequence(), fhicl::OptionalTable< T >::OptionalTable(), fhicl::OptionalTuple< T >::OptionalTuple(), fhicl::detail::ParameterBase::ParameterBase(), fhicl::Sequence< T, N >::Sequence(), fhicl::Sequence< T,-1ull >::Sequence(), fhicl::detail::SequenceBase::SequenceBase(), fhicl::Table< T, KeysToIgnore >::Table(), fhicl::detail::TableBase::TableBase(), and fhicl::Tuple< T >::Tuple().
auto fhicl::OptionalTuple< T >::operator() | ( | ) | const -> std::optional<value_type> |
Definition at line 184 of file OptionalTuple.h.
References fhicl::OptionalTuple< T >::get_rtype_result(), and fhicl::OptionalTuple< T >::has_value_.
Referenced by fhicl::OptionalTuple< T >::operator()().
auto fhicl::OptionalTuple< T >::operator() | ( | value_type & | r | ) | const -> bool |
Definition at line 194 of file OptionalTuple.h.
References fhicl::OptionalTuple< T >::operator()(), and r.
|
inherited |
Definition at line 36 of file ParameterBase.cc.
References fhicl::detail::ParameterBase::mdata_, and fhicl::detail::ParameterMetadata::type().
Referenced by fhicl::detail::PrintAllowedConfiguration::after_action(), fhicl::detail::ValidateThenSet::before_action(), fhicl::detail::PrintAllowedConfiguration::enter_sequence(), fhicl::detail::SearchAllowedConfiguration::form_absolute(), and fhicl::detail::RegisterIfTableMember::RegisterIfTableMember().
|
inlineinherited |
Definition at line 39 of file SequenceBase.h.
References fhicl::detail::SequenceBase::do_prepare_elements_for_validation().
Referenced by fhicl::detail::ValidateThenSet::enter_sequence().
|
inherited |
Definition at line 63 of file ParameterBase.cc.
References fhicl::detail::ParameterBase::do_preset_value().
Referenced by fhicl::detail::ValidateThenSet::before_action().
|
inherited |
Definition at line 68 of file ParameterBase.cc.
References fhicl::detail::ParameterBase::mdata_, and fhicl::detail::ParameterMetadata::set_par_style().
Referenced by fhicl::detail::TableBase::maybe_implicitly_default(), and fhicl::TableAs< T, Config >::TableAs().
|
inherited |
Definition at line 58 of file ParameterBase.cc.
References fhicl::detail::ParameterBase::do_set_value().
Referenced by fhicl::detail::ValidateThenSet::after_action().
|
inherited |
Definition at line 41 of file ParameterBase.cc.
References fhicl::detail::ParameterBase::maybeUse_.
Referenced by fhicl::detail::ValidateThenSet::before_action().
|
inlinenoexceptinherited |
Definition at line 33 of file SequenceBase.h.
References fhicl::detail::SequenceBase::get_size().
Referenced by fhicl::detail::SequenceBase::empty(), fhicl::detail::PrintAllowedConfiguration::enter_sequence(), fhicl::OptionalSequence< art::InputTag >::get_size(), fhicl::OptionalSequence< T,-1ull >::get_size(), geo::fhicl::readIDsequence(), and geo::fhicl::readOptionalIDsequence().
|
inlineinherited |
Definition at line 44 of file SequenceBase.h.
References fhicl::detail::SequenceBase::do_walk_elements().
|
inlineinherited |
Definition at line 49 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 61 of file OptionalTuple.h.
Referenced by fhicl::OptionalTuple< ARGS... >::do_set_value(), fhicl::OptionalTuple< ARGS... >::hasValue(), and fhicl::OptionalTuple< T >::operator()().
|
private |
Definition at line 60 of file OptionalTuple.h.
Referenced by fhicl::OptionalTuple< ARGS... >::finalize_element(), and fhicl::OptionalTuple< ARGS... >::get_rtype_result().