LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
AtomBase.h
Go to the documentation of this file.
1 #ifndef fhiclcpp_types_detail_AtomBase_h
2 #define fhiclcpp_types_detail_AtomBase_h
3 
6 
7 namespace fhicl::detail {
8  class AtomBase : public ParameterBase {
9  public:
10  AtomBase(Name const& name,
11  Comment const& comment,
12  par_style const vt,
13  std::function<bool()> maybeUse)
14  : ParameterBase{name, comment, vt, par_type::ATOM, maybeUse}
15  {}
16 
17  std::string
19  {
20  return get_stringified_value();
21  }
22 
23  private:
24  virtual std::string get_stringified_value() const = 0;
25  };
26 }
27 
28 #endif /* fhiclcpp_types_detail_AtomBase_h */
29 
30 // Local variables:
31 // mode: c++
32 // End:
AtomBase(Name const &name, Comment const &comment, par_style const vt, std::function< bool()> maybeUse)
Definition: AtomBase.h:10
std::string stringified_value() const
Definition: AtomBase.h:18
std::string const & name() const
std::string const & comment() const
virtual std::string get_stringified_value() const =0