1 #ifndef fhiclcpp_types_OptionalTable_h 2 #define fhiclcpp_types_OptionalTable_h 24 class OptionalTable final :
public detail::TableBase,
25 private detail::RegisterIfTableMember {
40 std::function<
bool()> maybeUse);
42 std::set<std::string>
const& keysToIgnore);
68 std::set<std::string>
const& keysToIgnore = {});
72 std::string
const& tab = std::string(3,
' '))
const;
81 using members_t = std::vector<cet::exempt_ptr<ParameterBase>>;
83 std::shared_ptr<T>
value_{std::make_shared<T>()};
95 bool const trimParents)
override;
100 operator<<(std::ostream& os, OptionalTable<T>
const& t)
102 std::ostringstream config;
103 t.print_allowed_configuration(config);
104 return os << config.str();
#define NO_DELEGATED_PARAMETERS
std::shared_ptr< T > value_
#define NO_NESTED_FHICL_TYPES_IN_TABLE
static TableMemberRegistry & instance()
members_t const & get_members() const override
#define NO_STD_CONTAINERS
std::vector< cet::exempt_ptr< ParameterBase >> members_t
void print_allowed_configuration(std::ostream &os, std::string const &tab=std::string(3, ' ')) const
#define NO_NESTED_TABLE_FRAGMENTS
std::vector< base_ptr > release_members()
bool operator()(T &value) const
std::string value(boost::any const &)
void validate_ParameterSet(ParameterSet const &pset, std::set< std::string > const &keysToIgnore={})
void do_set_value(fhicl::ParameterSet const &pset, bool const trimParents) override
ParameterSet const & get_PSet() const
std::string comment() const
art::ClosingCriteria::art::TFileService::Config value_type