CMS 3D CMS Logo

ORGroupDescription.h
Go to the documentation of this file.
1 #ifndef FWCore_ParameterSet_ORGroupDescription_h
2 #define FWCore_ParameterSet_ORGroupDescription_h
3 
5 
7 
8 #include <memory>
9 #include <iosfwd>
10 #include <set>
11 #include <string>
12 
13 namespace edm {
14 
15  class ParameterSet;
16  class DocFormatHelper;
17 
19  public:
20  ORGroupDescription(ParameterDescriptionNode const& node_left, ParameterDescriptionNode const& node_right);
21 
22  ORGroupDescription(std::unique_ptr<ParameterDescriptionNode> node_left, ParameterDescriptionNode const& node_right);
23 
24  ORGroupDescription(ParameterDescriptionNode const& node_left, std::unique_ptr<ParameterDescriptionNode> node_right);
25 
26  ORGroupDescription(std::unique_ptr<ParameterDescriptionNode> node_left,
27  std::unique_ptr<ParameterDescriptionNode> node_right);
28 
29  ParameterDescriptionNode* clone() const override { return new ORGroupDescription(*this); }
30 
31  private:
32  void checkAndGetLabelsAndTypes_(std::set<std::string>& usedLabels,
33  std::set<ParameterTypes>& parameterTypes,
34  std::set<ParameterTypes>& wildcardTypes) const override;
35 
36  void validate_(ParameterSet& pset, std::set<std::string>& validatedLabels, bool optional) const override;
37 
38  void writeCfi_(std::ostream& os,
39  bool optional,
40  bool& startWithComma,
41  int indentation,
42  CfiOptions&,
43  bool& wroteSomething) const override;
44 
45  void print_(std::ostream& os, bool optional, bool writeToCfi, DocFormatHelper& dfh) const override;
46 
47  bool hasNestedContent_() const override { return true; }
48 
49  void printNestedContent_(std::ostream& os, bool optional, DocFormatHelper& dfh) const override;
50 
51  bool exists_(ParameterSet const& pset) const override;
52 
53  bool partiallyExists_(ParameterSet const& pset) const override;
54 
55  int howManyXORSubNodesExist_(ParameterSet const& pset) const override;
56 
57  void throwIfDuplicateLabels(std::set<std::string> const& labelsLeft,
58  std::set<std::string> const& labelsRight) const;
59 
60  void throwIfDuplicateTypes(std::set<ParameterTypes> const& types1, std::set<ParameterTypes> const& types2) const;
61 
64  };
65 } // namespace edm
66 #endif
void print_(std::ostream &os, bool optional, bool writeToCfi, DocFormatHelper &dfh) const override
edm::value_ptr< ParameterDescriptionNode > node_left_
bool exists_(ParameterSet const &pset) const override
void printNestedContent_(std::ostream &os, bool optional, DocFormatHelper &dfh) const override
int howManyXORSubNodesExist_(ParameterSet const &pset) const override
void throwIfDuplicateLabels(std::set< std::string > const &labelsLeft, std::set< std::string > const &labelsRight) const
optional
Definition: Types.py:245
void validate_(ParameterSet &pset, std::set< std::string > &validatedLabels, bool optional) const override
bool partiallyExists_(ParameterSet const &pset) const override
ORGroupDescription(ParameterDescriptionNode const &node_left, ParameterDescriptionNode const &node_right)
void throwIfDuplicateTypes(std::set< ParameterTypes > const &types1, std::set< ParameterTypes > const &types2) const
ParameterDescriptionNode * clone() const override
HLT enums.
void checkAndGetLabelsAndTypes_(std::set< std::string > &usedLabels, std::set< ParameterTypes > &parameterTypes, std::set< ParameterTypes > &wildcardTypes) const override
bool hasNestedContent_() const override
edm::value_ptr< ParameterDescriptionNode > node_right_
cfi::CfiOptions CfiOptions
void writeCfi_(std::ostream &os, bool optional, bool &startWithComma, int indentation, CfiOptions &, bool &wroteSomething) const override