1 #ifndef fhiclcpp_types_detail_TableMemberRegistry_h 2 #define fhiclcpp_types_detail_TableMemberRegistry_h 33 #include "cetlib/exempt_ptr.h" 61 using base_ptr = cet::exempt_ptr<ParameterBase>;
74 template <
typename T,
typename KeysToIgnore>
82 std::vector<base_ptr> result;
83 std::swap(tables_.top(), result);
94 tables_.top().emplace_back(pb);
TableMemberRegistry & operator=(TableMemberRegistry const &)=delete
std::stack< table_members_t > tables_
bool is_table(boost::any const &val)
std::vector< base_ptr > table_members_t
void emplace_table_member(ParameterBase *pb)
static TableMemberRegistry & instance()
RegisterIfTableMember(ParameterBase *pb)
par_type parameter_type() const
std::vector< base_ptr > release_members()
cet::exempt_ptr< ParameterBase > base_ptr
bool is_table_member(std::string const &key)
TableMemberRegistry()=default