1 #ifndef FWCore_ParameterSet_ParameterDescriptionNode_h 2 #define FWCore_ParameterSet_ParameterDescriptionNode_h 21 template <
typename T>
class ParameterDescriptionCases;
22 class DocFormatHelper;
72 explicit Comment(
char const* iComment);
94 void setComment(
char const* value);
103 std::set<std::string>& validatedLabels,
104 bool optional)
const {
105 validate_(pset, validatedLabels, optional);
119 bool& startWithComma,
121 bool& wroteSomething)
const {
122 writeCfi_(os, startWithComma, indentation, wroteSomething);
126 void print(std::ostream& os,
132 return hasNestedContent_();
135 void printNestedContent(std::ostream& os,
147 return exists_(pset);
155 return partiallyExists_(pset);
170 return howManyXORSubNodesExist_(pset);
226 std::set<ParameterTypes>& parameterTypes,
227 std::set<ParameterTypes>& wildcardTypes)
const {
228 checkAndGetLabelsAndTypes_(usedLabels, parameterTypes, wildcardTypes);
231 static void printSpaces(std::ostream& os,
int n);
235 virtual void checkAndGetLabelsAndTypes_(std::set<std::string>& usedLabels,
236 std::set<ParameterTypes>& parameterTypes,
237 std::set<ParameterTypes>& wildcardTypes)
const = 0;
240 std::set<std::string>& validatedLabels,
241 bool optional)
const = 0;
243 virtual void writeCfi_(std::ostream& os,
244 bool& startWithComma,
246 bool& wroteSomething)
const = 0;
261 virtual bool exists_(
ParameterSet const& pset)
const = 0;
263 virtual bool partiallyExists_(
ParameterSet const& pset)
const = 0;
265 virtual int howManyXORSubNodesExist_(
ParameterSet const& pset)
const = 0;
278 std::unique_ptr<ParameterDescriptionCases<bool> >
282 std::unique_ptr<ParameterDescriptionCases<int> >
286 std::unique_ptr<ParameterDescriptionCases<std::string> >
290 std::unique_ptr<ParameterDescriptionCases<std::string> >
294 std::unique_ptr<ParameterDescriptionCases<bool> >
296 std::unique_ptr<ParameterDescriptionNode> node);
298 std::unique_ptr<ParameterDescriptionCases<int> >
300 std::unique_ptr<ParameterDescriptionNode> node);
302 std::unique_ptr<ParameterDescriptionCases<std::string> >
304 std::unique_ptr<ParameterDescriptionNode> node);
306 std::unique_ptr<ParameterDescriptionCases<std::string> >
308 std::unique_ptr<ParameterDescriptionNode> node);
312 std::unique_ptr<ParameterDescriptionNode>
316 std::unique_ptr<ParameterDescriptionNode>
317 operator&&(std::unique_ptr<ParameterDescriptionNode> node_left,
320 std::unique_ptr<ParameterDescriptionNode>
322 std::unique_ptr<ParameterDescriptionNode> node_right);
324 std::unique_ptr<ParameterDescriptionNode>
325 operator&&(std::unique_ptr<ParameterDescriptionNode> node_left,
326 std::unique_ptr<ParameterDescriptionNode> node_right);
330 std::unique_ptr<ParameterDescriptionNode>
334 std::unique_ptr<ParameterDescriptionNode>
335 operator||(std::unique_ptr<ParameterDescriptionNode> node_left,
338 std::unique_ptr<ParameterDescriptionNode>
340 std::unique_ptr<ParameterDescriptionNode> node_right);
342 std::unique_ptr<ParameterDescriptionNode>
343 operator||(std::unique_ptr<ParameterDescriptionNode> node_left,
344 std::unique_ptr<ParameterDescriptionNode> node_right);
348 std::unique_ptr<ParameterDescriptionNode>
352 std::unique_ptr<ParameterDescriptionNode>
353 operator^(std::unique_ptr<ParameterDescriptionNode> node_left,
356 std::unique_ptr<ParameterDescriptionNode>
358 std::unique_ptr<ParameterDescriptionNode> node_right);
360 std::unique_ptr<ParameterDescriptionNode>
361 operator^(std::unique_ptr<ParameterDescriptionNode> node_left,
362 std::unique_ptr<ParameterDescriptionNode> node_right);
void validate(ParameterSet &pset, std::set< std::string > &validatedLabels, bool optional) const
std::istream & operator>>(std::istream &is, FileInPath &fip)
int howManyXORSubNodesExist(ParameterSet const &pset) const
virtual bool hasNestedContent_() const
S & print(S &os, JobReport::InputFile const &f)
virtual void printNestedContent_(std::ostream &, bool, DocFormatHelper &) const
std::string parameterTypeEnumToString(ParameterTypes iType)
static ParameterDescriptionNode * clone(ParameterDescriptionNode const *p)
std::unique_ptr< ParameterDescriptionNode > operator&&(ParameterDescriptionNode const &node_left, ParameterDescriptionNode const &node_right)
std::string const & comment() const
bool exists(ParameterSet const &pset) const
bool partiallyExists(ParameterSet const &pset) const
std::unique_ptr< ParameterDescriptionCases< bool > > operator||(std::unique_ptr< ParameterDescriptionCases< bool > >, std::unique_ptr< ParameterDescriptionCases< bool > >)
bool hasNestedContent() const
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
virtual ParameterDescriptionNode * clone() const =0
static ParameterTypes toEnum()
static void destroy(ParameterDescriptionNode *p)
std::unique_ptr< ParameterDescriptionNode > operator^(ParameterDescriptionNode const &node_left, ParameterDescriptionNode const &node_right)
void checkAndGetLabelsAndTypes(std::set< std::string > &usedLabels, std::set< ParameterTypes > ¶meterTypes, std::set< ParameterTypes > &wildcardTypes) const
ParameterDescriptionNode()
void writeCfi(std::ostream &os, bool &startWithComma, int indentation, bool &wroteSomething) const
ParameterDescriptionNode(Comment const &iComment)
virtual void print_(std::ostream &, bool, bool, DocFormatHelper &) const