ValidateThenSet.h
Go to the documentation of this file.
1 #ifndef fhiclcpp_types_detail_ValidateThenSet_h
2 #define fhiclcpp_types_detail_ValidateThenSet_h
3 
4 #include "cetlib/exempt_ptr.h"
8 
9 #include <set>
10 #include <string>
11 #include <vector>
12 
13 namespace fhicl::detail {
14 
16  : public ParameterWalker<tt::const_flavor::require_non_const> {
17  public:
19  std::set<std::string> const& keysToIgnore)
20  : pset_{pset}
21  , ignorableKeys_{keysToIgnore}
22  , userKeys_{pset.get_all_keys()}
24  {
26  }
27 
28  void check_keys();
29 
30  private:
31  bool before_action(ParameterBase& p) override;
32  void after_action(ParameterBase& p) override;
33  void enter_sequence(SequenceBase& p) override;
34  void delegated_parameter(DelegateBase&) override;
35 
36  void
38  {}
39  void
40  atom(AtomBase&) override
41  {}
42 
44  std::set<std::string> ignorableKeys_;
45  std::vector<std::string> userKeys_;
46  std::vector<cet::exempt_ptr<ParameterBase>> missingParameters_;
47  };
48 }
49 
50 #endif /* fhiclcpp_types_detail_ValidateThenSet_h */
51 
52 // Local variables:
53 // mode: c++
54 // End:
void enter_sequence(SequenceBase &p) override
void enter_table(TableBase &) override
std::set< std::string > ignorableKeys_
std::vector< std::string > userKeys_
void sort_all(RandCont &)
ParameterSet const & pset_
p
Definition: test.py:223
void delegated_parameter(DelegateBase &) override
std::vector< cet::exempt_ptr< ParameterBase > > missingParameters_
void atom(AtomBase &) override
void after_action(ParameterBase &p) override
bool before_action(ParameterBase &p) override
ValidateThenSet(fhicl::ParameterSet const &pset, std::set< std::string > const &keysToIgnore)