1 #ifndef FWCore_ParameterSet_ParameterDescriptionNode_h
2 #define FWCore_ParameterSet_ParameterDescriptionNode_h
21 template <
typename T>
class ParameterDescriptionCases;
22 class DocFormatHelper;
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,
211 std::set<ParameterTypes> & parameterTypes,
212 std::set<ParameterTypes> & wildcardTypes)
const {
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;
263 std::auto_ptr<ParameterDescriptionCases<bool> >
265 ParameterDescriptionNode
const&
node);
267 std::auto_ptr<ParameterDescriptionCases<int> >
269 ParameterDescriptionNode
const&
node);
271 std::auto_ptr<ParameterDescriptionCases<std::string> >
273 ParameterDescriptionNode
const&
node);
275 std::auto_ptr<ParameterDescriptionCases<std::string> >
277 ParameterDescriptionNode
const&
node);
279 std::auto_ptr<ParameterDescriptionCases<bool> >
281 std::auto_ptr<ParameterDescriptionNode>
node);
283 std::auto_ptr<ParameterDescriptionCases<int> >
285 std::auto_ptr<ParameterDescriptionNode>
node);
287 std::auto_ptr<ParameterDescriptionCases<std::string> >
289 std::auto_ptr<ParameterDescriptionNode>
node);
291 std::auto_ptr<ParameterDescriptionCases<std::string> >
293 std::auto_ptr<ParameterDescriptionNode>
node);
297 std::auto_ptr<ParameterDescriptionNode>
298 operator&&(ParameterDescriptionNode
const& node_left,
299 ParameterDescriptionNode
const& node_right);
301 std::auto_ptr<ParameterDescriptionNode>
302 operator&&(std::auto_ptr<ParameterDescriptionNode> node_left,
303 ParameterDescriptionNode
const& node_right);
305 std::auto_ptr<ParameterDescriptionNode>
306 operator&&(ParameterDescriptionNode
const& node_left,
307 std::auto_ptr<ParameterDescriptionNode> node_right);
309 std::auto_ptr<ParameterDescriptionNode>
310 operator&&(std::auto_ptr<ParameterDescriptionNode> node_left,
311 std::auto_ptr<ParameterDescriptionNode> node_right);
315 std::auto_ptr<ParameterDescriptionNode>
316 operator||(ParameterDescriptionNode
const& node_left,
317 ParameterDescriptionNode
const& node_right);
319 std::auto_ptr<ParameterDescriptionNode>
320 operator||(std::auto_ptr<ParameterDescriptionNode> node_left,
321 ParameterDescriptionNode
const& node_right);
323 std::auto_ptr<ParameterDescriptionNode>
324 operator||(ParameterDescriptionNode
const& node_left,
325 std::auto_ptr<ParameterDescriptionNode> node_right);
327 std::auto_ptr<ParameterDescriptionNode>
328 operator||(std::auto_ptr<ParameterDescriptionNode> node_left,
329 std::auto_ptr<ParameterDescriptionNode> node_right);
333 std::auto_ptr<ParameterDescriptionNode>
334 operator^(ParameterDescriptionNode
const& node_left,
335 ParameterDescriptionNode
const& node_right);
337 std::auto_ptr<ParameterDescriptionNode>
338 operator^(std::auto_ptr<ParameterDescriptionNode> node_left,
339 ParameterDescriptionNode
const& node_right);
341 std::auto_ptr<ParameterDescriptionNode>
342 operator^(ParameterDescriptionNode
const& node_left,
343 std::auto_ptr<ParameterDescriptionNode> node_right);
345 std::auto_ptr<ParameterDescriptionNode>
346 operator^(std::auto_ptr<ParameterDescriptionNode> node_left,
347 std::auto_ptr<ParameterDescriptionNode> node_right);
virtual ~ParameterDescriptionNode()
void setComment(std::string const &value)
virtual ParameterDescriptionNode * clone() const =0
virtual bool partiallyExists_(ParameterSet const &pset) const =0
virtual void checkAndGetLabelsAndTypes_(std::set< std::string > &usedLabels, std::set< ParameterTypes > ¶meterTypes, std::set< ParameterTypes > &wildcardTypes) const =0
void validate(ParameterSet &pset, std::set< std::string > &validatedLabels, bool optional) const
virtual void printNestedContent_(std::ostream &os, bool optional, DocFormatHelper &dfh)
std::istream & operator>>(std::istream &is, FileInPath &fip)
int howManyXORSubNodesExist(ParameterSet const &pset) const
virtual bool hasNestedContent_()
virtual int howManyXORSubNodesExist_(ParameterSet const &pset) const =0
std::string parameterTypeEnumToString(ParameterTypes iType)
static ParameterDescriptionNode * clone(ParameterDescriptionNode const *p)
boost::enable_if_c< has_match< A >::value &&has_match< B >::value, OrHelper< A, B > >::type operator||(A const &a, B const &b)
virtual void writeCfi_(std::ostream &os, bool &startWithComma, int indentation, bool &wroteSomething) const =0
void printNestedContent(std::ostream &os, bool optional, DocFormatHelper &dfh)
std::string const & comment() const
virtual void print_(std::ostream &os, bool optional, bool writeToCfi, DocFormatHelper &dfh)
static void printSpaces(std::ostream &os, int n)
bool exists(ParameterSet const &pset) const
bool partiallyExists(ParameterSet const &pset) const
void print(std::ostream &os, bool optional, bool writeToCfi, DocFormatHelper &dfh)
virtual void validate_(ParameterSet &pset, std::set< std::string > &validatedLabels, bool optional) const =0
static ParameterTypes toEnum()
boost::enable_if_c< has_match< A >::value &&has_match< B >::value, AndHelper< A, B > >::type operator&&(A const &a, B const &b)
void checkAndGetLabelsAndTypes(std::set< std::string > &usedLabels, std::set< ParameterTypes > ¶meterTypes, std::set< ParameterTypes > &wildcardTypes) const
virtual bool exists_(ParameterSet const &pset) const =0
std::auto_ptr< ParameterDescriptionNode > operator^(ParameterDescriptionNode const &node_left, ParameterDescriptionNode const &node_right)
void writeCfi(std::ostream &os, bool &startWithComma, int indentation, bool &wroteSomething) const