LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "type_traits.h"
Public Types | |
using | default_type = tuple_detail::ValueHolder< typename tt::fhicl_type< TYPES >::default_type... > |
using | value_type = std::tuple< tt::return_type< TYPES >... > |
using | ftype = std::tuple< std::shared_ptr< tt::fhicl_type< TYPES >>... > |
Public Member Functions | |
Tuple (Name &&name) | |
Tuple (Name &&name, Comment &&comment) | |
Tuple (Name &&name, Comment &&comment, std::function< bool()> maybeUse) | |
Tuple (Name &&name, default_type const &defaults) | |
Tuple (Name &&name, Comment &&comment, default_type const &defaults) | |
Tuple (Name &&name, Comment &&comment, std::function< bool()> maybeUse, default_type const &defaults) | |
auto | operator() () const |
template<std::size_t I> | |
auto | get () 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 | TUPLE = std::tuple< tt::fhicl_type< TYPES >... > |
using | UTUPLE = std::tuple< 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 override |
void | do_set_value (fhicl::ParameterSet const &, bool) 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> | |
std::enable_if_t<(I >=std::tuple_size< TUPLE >::value)> | fill_tuple_element (default_type const &) |
template<size_t I> | |
std::enable_if_t<(I< std::tuple_size< TUPLE >::value)> | fill_tuple_element (default_type const &defaults) |
void | fill_tuple_elements (default_type const &default_values) |
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 |
template<size_t I> | |
std::enable_if_t<(I >=std::tuple_size< TUPLE >::value)> | prepare_element_for_validation () |
template<size_t I> | |
std::enable_if_t<(I< std::tuple_size< TUPLE >::value)> | prepare_element_for_validation () |
Private Attributes | |
ftype | value_ |
Definition at line 38 of file type_traits.h.
using fhicl::Tuple< TYPES >::default_type = tuple_detail::ValueHolder< typename tt::fhicl_type<TYPES>::default_type...> |
using fhicl::Tuple< TYPES >::ftype = std::tuple<std::shared_ptr<tt::fhicl_type<TYPES>>...> |
|
private |
|
private |
|
private |
|
private |
using fhicl::Tuple< TYPES >::value_type = std::tuple<tt::return_type<TYPES>...> |
|
explicit |
|
explicit |
Definition at line 279 of file Tuple.h.
References fhicl::detail::AlwaysUse(), fhicl::detail::ParameterBase::comment(), fhicl::NameStackRegistry::end_of_ctor(), fhicl::Tuple< TYPES >::finalize_elements(), fhicl::detail::ParameterBase::name(), fhicl::detail::RegisterIfTableMember::RegisterIfTableMember(), fhicl::REQUIRED, and fhicl::TUPLE.
|
explicit |
Definition at line 292 of file Tuple.h.
References fhicl::detail::ParameterBase::comment(), fhicl::NameStackRegistry::end_of_ctor(), fhicl::Tuple< TYPES >::finalize_elements(), fhicl::detail::ParameterBase::name(), fhicl::detail::RegisterIfTableMember::RegisterIfTableMember(), fhicl::REQUIRED_CONDITIONAL, and fhicl::TUPLE.
|
explicit |
|
explicit |
Definition at line 314 of file Tuple.h.
References fhicl::detail::AlwaysUse(), fhicl::detail::ParameterBase::comment(), fhicl::DEFAULT, fhicl::NameStackRegistry::end_of_ctor(), fhicl::Tuple< TYPES >::fill_tuple_elements(), fhicl::detail::ParameterBase::name(), fhicl::detail::RegisterIfTableMember::RegisterIfTableMember(), and fhicl::TUPLE.
|
explicit |
Definition at line 329 of file Tuple.h.
References fhicl::detail::ParameterBase::comment(), fhicl::DEFAULT_CONDITIONAL, fhicl::NameStackRegistry::end_of_ctor(), fhicl::Tuple< TYPES >::fill_tuple_elements(), fhicl::detail::ParameterBase::name(), fhicl::detail::RegisterIfTableMember::RegisterIfTableMember(), and fhicl::TUPLE.
|
inlineprivate |
Definition at line 250 of file Tuple.h.
References fhicl::detail::atom::value().
Referenced by fhicl::Tuple< 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 138 of file Tuple.h.
References fhicl::detail::check_nargs_for_bounded_sequences().
|
inlineoverrideprivatevirtual |
|
inlineoverrideprivatevirtual |
Implements fhicl::detail::SequenceBase.
Definition at line 144 of file Tuple.h.
|
inlineoverrideprivatevirtual |
Implements fhicl::detail::SequenceBase.
Definition at line 174 of file Tuple.h.
|
inlineinherited |
Definition at line 29 of file SequenceBase.h.
References fhicl::detail::SequenceBase::size().
Referenced by fhicl::detail::PrintAllowedConfiguration::enter_sequence().
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
Definition at line 214 of file Tuple.h.
References NO_DEFAULTS_FOR_TABLE, NO_DELEGATED_PARAMETERS, NO_STD_CONTAINERS, and fhicl::Name::sequence_element().
|
inlineprivate |
Definition at line 229 of file Tuple.h.
References fhicl::detail::atom::value().
Referenced by fhicl::Tuple< TYPES >::Tuple().
|
inlineprivate |
Definition at line 200 of file Tuple.h.
References fhicl::detail::atom::value().
Referenced by fhicl::Tuple< TYPES >::Tuple().
|
inlineprivate |
|
inlineprivate |
Definition at line 185 of file Tuple.h.
References NO_DELEGATED_PARAMETERS, NO_NESTED_TABLE_FRAGMENTS, NO_OPTIONAL_TYPES, and fhicl::Name::sequence_element().
|
inline |
|
inlineoverrideprivatevirtual |
Implements fhicl::detail::SequenceBase.
|
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().
|
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 |
|
inlineprivate |
|
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().
auto fhicl::Tuple< TYPES >::operator() | ( | ) | const |
|
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().
|
inlineprivate |
|
inlineprivate |
Definition at line 264 of file Tuple.h.
References fhicl::REQUIRED.
|
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 |
|
inlineprivate |
Definition at line 119 of file Tuple.h.
References NO_DELEGATED_PARAMETERS, NO_NESTED_TABLE_FRAGMENTS, NO_OPTIONAL_TYPES, and fhicl::detail::ParameterWalker< C >::walk_over().
|
inlineprivate |
|
inlineprivate |
Definition at line 155 of file Tuple.h.
References NO_DELEGATED_PARAMETERS, NO_NESTED_TABLE_FRAGMENTS, NO_OPTIONAL_TYPES, and fhicl::detail::ParameterWalker< C >::walk_over().
|
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 |