1 #ifndef FWCore_ParameterSet_ParameterDescriptionNode_h 2 #define FWCore_ParameterSet_ParameterDescriptionNode_h 21 template <
typename T>
class ParameterDescriptionCases;
22 class DocFormatHelper;
79 void setComment(
char const* value);
88 std::set<std::string>& validatedLabels,
89 bool optional)
const {
90 validate_(pset, validatedLabels, optional);
104 bool& startWithComma,
106 bool& wroteSomething)
const {
107 writeCfi_(os, startWithComma, indentation, wroteSomething);
111 void print(std::ostream& os,
117 return hasNestedContent_();
120 void printNestedContent(std::ostream& os,
132 return exists_(pset);
140 return partiallyExists_(pset);
155 return howManyXORSubNodesExist_(pset);
211 std::set<ParameterTypes>& parameterTypes,
212 std::set<ParameterTypes>& wildcardTypes)
const {
213 checkAndGetLabelsAndTypes_(usedLabels, parameterTypes, wildcardTypes);
216 static void printSpaces(std::ostream& os,
int n);
220 virtual void checkAndGetLabelsAndTypes_(std::set<std::string>& usedLabels,
221 std::set<ParameterTypes>& parameterTypes,
222 std::set<ParameterTypes>& wildcardTypes)
const = 0;
225 std::set<std::string>& validatedLabels,
226 bool optional)
const = 0;
228 virtual void writeCfi_(std::ostream& os,
229 bool& startWithComma,
231 bool& wroteSomething)
const = 0;
246 virtual bool exists_(
ParameterSet const& pset)
const = 0;
248 virtual bool partiallyExists_(
ParameterSet const& pset)
const = 0;
250 virtual int howManyXORSubNodesExist_(
ParameterSet const& pset)
const = 0;
262 std::unique_ptr<ParameterDescriptionCases<bool> >
266 std::unique_ptr<ParameterDescriptionCases<int> >
270 std::unique_ptr<ParameterDescriptionCases<std::string> >
274 std::unique_ptr<ParameterDescriptionCases<std::string> >
278 std::unique_ptr<ParameterDescriptionCases<bool> >
280 std::unique_ptr<ParameterDescriptionNode> node);
282 std::unique_ptr<ParameterDescriptionCases<int> >
284 std::unique_ptr<ParameterDescriptionNode> node);
286 std::unique_ptr<ParameterDescriptionCases<std::string> >
288 std::unique_ptr<ParameterDescriptionNode> node);
290 std::unique_ptr<ParameterDescriptionCases<std::string> >
292 std::unique_ptr<ParameterDescriptionNode> node);
296 std::unique_ptr<ParameterDescriptionNode>
300 std::unique_ptr<ParameterDescriptionNode>
301 operator&&(std::unique_ptr<ParameterDescriptionNode> node_left,
304 std::unique_ptr<ParameterDescriptionNode>
306 std::unique_ptr<ParameterDescriptionNode> node_right);
308 std::unique_ptr<ParameterDescriptionNode>
309 operator&&(std::unique_ptr<ParameterDescriptionNode> node_left,
310 std::unique_ptr<ParameterDescriptionNode> node_right);
314 std::unique_ptr<ParameterDescriptionNode>
318 std::unique_ptr<ParameterDescriptionNode>
319 operator||(std::unique_ptr<ParameterDescriptionNode> node_left,
322 std::unique_ptr<ParameterDescriptionNode>
324 std::unique_ptr<ParameterDescriptionNode> node_right);
326 std::unique_ptr<ParameterDescriptionNode>
327 operator||(std::unique_ptr<ParameterDescriptionNode> node_left,
328 std::unique_ptr<ParameterDescriptionNode> node_right);
332 std::unique_ptr<ParameterDescriptionNode>
336 std::unique_ptr<ParameterDescriptionNode>
337 operator^(std::unique_ptr<ParameterDescriptionNode> node_left,
340 std::unique_ptr<ParameterDescriptionNode>
342 std::unique_ptr<ParameterDescriptionNode> node_right);
344 std::unique_ptr<ParameterDescriptionNode>
345 operator^(std::unique_ptr<ParameterDescriptionNode> node_left,
346 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()
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
void writeCfi(std::ostream &os, bool &startWithComma, int indentation, bool &wroteSomething) const
virtual void print_(std::ostream &, bool, bool, DocFormatHelper &) const