TableBase.h
Go to the documentation of this file.
1 #ifndef fhiclcpp_types_detail_TableBase_h
2 #define fhiclcpp_types_detail_TableBase_h
3 
4 #include "cetlib/exempt_ptr.h"
5 #include "fhiclcpp/fwd.h"
7 
8 namespace fhicl::detail {
9  class TableBase : public ParameterBase {
10  public:
12  Comment const& comment,
13  par_style const vt,
14  std::function<bool()> maybeUse)
15  : ParameterBase{name, comment, vt, par_type::TABLE, maybeUse}
16  {}
17 
18  std::vector<cet::exempt_ptr<ParameterBase>> const&
19  members() const
20  {
21  return get_members();
22  }
23 
24  private:
25  virtual std::vector<cet::exempt_ptr<ParameterBase>> const& get_members()
26  const = 0;
27  };
28 }
29 
30 #endif /* fhiclcpp_types_detail_TableBase_h */
31 
32 // Local variables:
33 // mode: c++
34 // End:
std::string const & name() const
Definition: ParameterBase.h:43
std::vector< cet::exempt_ptr< ParameterBase > > const & members() const
Definition: TableBase.h:19
virtual std::vector< cet::exempt_ptr< ParameterBase > > const & get_members() const =0
std::string const & comment() const
Definition: ParameterBase.h:48
TableBase(Name const &name, Comment const &comment, par_style const vt, std::function< bool()> maybeUse)
Definition: TableBase.h:11
void function(int client, int *resource, int parblock, int *test, int p)