CMS 3D CMS Logo

AllowedLabelsDescriptionBase.h
Go to the documentation of this file.
1 #ifndef FWCore_ParameterSet_AllowedLabelsDescriptionBase_h
2 #define FWCore_ParameterSet_AllowedLabelsDescriptionBase_h
3 
6 
7 #include <vector>
8 #include <string>
9 #include <set>
10 #include <iosfwd>
11 
12 namespace edm {
13 
14  class ParameterSet;
15 
17  public:
19 
20  ParameterTypes type() const { return type_; }
21  bool isTracked() const { return isTracked_; }
22 
23  protected:
25 
27 
28  void printNestedContentBase_(std::ostream& os, bool optional, DocFormatHelper& dfh) const;
29 
30  private:
31  void checkAndGetLabelsAndTypes_(std::set<std::string>& usedLabels,
32  std::set<ParameterTypes>& parameterTypes,
33  std::set<ParameterTypes>& wildcardTypes) const override;
34 
35  void validate_(ParameterSet& pset, std::set<std::string>& validatedLabels, bool optional) const override;
36 
37  void writeCfi_(
38  std::ostream& os, bool optional, bool& startWithComma, int indentation, bool& wroteSomething) const override;
39 
40  void print_(std::ostream& os, bool optional, bool writeToCfi, DocFormatHelper& dfh) const override;
41 
42  bool hasNestedContent_() const override;
43 
44  void printNestedContent_(std::ostream& os, bool optional, DocFormatHelper& dfh) const override;
45 
46  bool exists_(ParameterSet const& pset) const override;
47 
48  bool partiallyExists_(ParameterSet const& pset) const override;
49 
50  int howManyXORSubNodesExist_(ParameterSet const& pset) const override;
51 
52  virtual void validateAllowedLabel_(std::string const& allowedLabel,
54  std::set<std::string>& validatedLabels) const = 0;
55 
58  bool isTracked_;
59  };
60 } // namespace edm
61 
62 #endif
edm::AllowedLabelsDescriptionBase
Definition: AllowedLabelsDescriptionBase.h:16
edm::ParameterTypes
ParameterTypes
Definition: ParameterDescriptionNode.h:33
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::AllowedLabelsDescriptionBase::writeCfi_
void writeCfi_(std::ostream &os, bool optional, bool &startWithComma, int indentation, bool &wroteSomething) const override
Definition: AllowedLabelsDescriptionBase.cc:49
edm::AllowedLabelsDescriptionBase::isTracked_
bool isTracked_
Definition: AllowedLabelsDescriptionBase.h:58
edm::AllowedLabelsDescriptionBase::validate_
void validate_(ParameterSet &pset, std::set< std::string > &validatedLabels, bool optional) const override
Definition: AllowedLabelsDescriptionBase.cc:29
Types.optional
optional
Definition: Types.py:199
edm::AllowedLabelsDescriptionBase::~AllowedLabelsDescriptionBase
~AllowedLabelsDescriptionBase() override
Definition: AllowedLabelsDescriptionBase.cc:13
edm::AllowedLabelsDescriptionBase::AllowedLabelsDescriptionBase
AllowedLabelsDescriptionBase(std::string const &label, ParameterTypes iType, bool isTracked)
Definition: AllowedLabelsDescriptionBase.cc:15
edm::AllowedLabelsDescriptionBase::exists_
bool exists_(ParameterSet const &pset) const override
Definition: AllowedLabelsDescriptionBase.cc:138
edm::AllowedLabelsDescriptionBase::print_
void print_(std::ostream &os, bool optional, bool writeToCfi, DocFormatHelper &dfh) const override
Definition: AllowedLabelsDescriptionBase.cc:54
edm::AllowedLabelsDescriptionBase::howManyXORSubNodesExist_
int howManyXORSubNodesExist_(ParameterSet const &pset) const override
Definition: AllowedLabelsDescriptionBase.cc:144
edm::DocFormatHelper
Definition: DocFormatHelper.h:15
edm::AllowedLabelsDescriptionBase::printNestedContentBase_
void printNestedContentBase_(std::ostream &os, bool optional, DocFormatHelper &dfh) const
Definition: AllowedLabelsDescriptionBase.cc:103
edm::AllowedLabelsDescriptionBase::isTracked
bool isTracked() const
Definition: AllowedLabelsDescriptionBase.h:21
edm::AllowedLabelsDescriptionBase::printNestedContent_
void printNestedContent_(std::ostream &os, bool optional, DocFormatHelper &dfh) const override
Definition: AllowedLabelsDescriptionBase.cc:97
ParameterDescriptionNode.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::AllowedLabelsDescriptionBase::validateAllowedLabel_
virtual void validateAllowedLabel_(std::string const &allowedLabel, ParameterSet &pset, std::set< std::string > &validatedLabels) const =0
edm::AllowedLabelsDescriptionBase::partiallyExists_
bool partiallyExists_(ParameterSet const &pset) const override
Definition: AllowedLabelsDescriptionBase.cc:142
edm::ParameterSet
Definition: ParameterSet.h:47
ParameterSet
Definition: Functions.h:16
edm::AllowedLabelsDescriptionBase::type
ParameterTypes type() const
Definition: AllowedLabelsDescriptionBase.h:20
edm::AllowedLabelsDescriptionBase::type_
ParameterTypes type_
Definition: AllowedLabelsDescriptionBase.h:57
edm::AllowedLabelsDescriptionBase::parameterHoldingLabels_
ParameterDescription< std::vector< std::string > > parameterHoldingLabels_
Definition: AllowedLabelsDescriptionBase.h:56
printContent_cfi.indentation
indentation
Definition: printContent_cfi.py:10
ParameterDescription.h
edm::AllowedLabelsDescriptionBase::hasNestedContent_
bool hasNestedContent_() const override
Definition: AllowedLabelsDescriptionBase.cc:95
edm::ParameterDescriptionNode
Definition: ParameterDescriptionNode.h:82
edm::ParameterDescription
Definition: ParameterDescription.h:110
label
const char * label
Definition: PFTauDecayModeTools.cc:11
edm::AllowedLabelsDescriptionBase::checkAndGetLabelsAndTypes_
void checkAndGetLabelsAndTypes_(std::set< std::string > &usedLabels, std::set< ParameterTypes > &parameterTypes, std::set< ParameterTypes > &wildcardTypes) const override
Definition: AllowedLabelsDescriptionBase.cc:23
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27