1 #ifndef FWCore_ParameterSet_ParameterDescriptionNode_h 2 #define FWCore_ParameterSet_ParameterDescriptionNode_h 22 class ParameterDescriptionCases;
23 class DocFormatHelper;
77 explicit Comment(
char const* iComment);
210 std::set<ParameterTypes>& parameterTypes,
211 std::set<ParameterTypes>& wildcardTypes)
const {
220 std::set<ParameterTypes>& parameterTypes,
221 std::set<ParameterTypes>& wildcardTypes)
const = 0;
226 std::ostream& os,
bool optional,
bool& startWithComma,
int indentation,
bool& wroteSomething)
const = 0;
251 std::unique_ptr<ParameterDescriptionCases<bool> >
operator>>(
bool caseValue, ParameterDescriptionNode
const& node);
253 std::unique_ptr<ParameterDescriptionCases<int> >
operator>>(
int caseValue, ParameterDescriptionNode
const& node);
256 ParameterDescriptionNode
const& node);
258 std::unique_ptr<ParameterDescriptionCases<std::string> >
operator>>(
char const* caseValue,
259 ParameterDescriptionNode
const& node);
261 std::unique_ptr<ParameterDescriptionCases<bool> >
operator>>(
bool caseValue,
262 std::unique_ptr<ParameterDescriptionNode> node);
264 std::unique_ptr<ParameterDescriptionCases<int> >
operator>>(
int caseValue,
265 std::unique_ptr<ParameterDescriptionNode> node);
268 std::unique_ptr<ParameterDescriptionNode> node);
270 std::unique_ptr<ParameterDescriptionCases<std::string> >
operator>>(
char const* caseValue,
271 std::unique_ptr<ParameterDescriptionNode> node);
275 std::unique_ptr<ParameterDescriptionNode>
operator&&(ParameterDescriptionNode
const& node_left,
276 ParameterDescriptionNode
const& node_right);
278 std::unique_ptr<ParameterDescriptionNode>
operator&&(std::unique_ptr<ParameterDescriptionNode> node_left,
279 ParameterDescriptionNode
const& node_right);
281 std::unique_ptr<ParameterDescriptionNode>
operator&&(ParameterDescriptionNode
const& node_left,
282 std::unique_ptr<ParameterDescriptionNode> node_right);
284 std::unique_ptr<ParameterDescriptionNode>
operator&&(std::unique_ptr<ParameterDescriptionNode> node_left,
285 std::unique_ptr<ParameterDescriptionNode> node_right);
289 std::unique_ptr<ParameterDescriptionNode>
operator||(ParameterDescriptionNode
const& node_left,
290 ParameterDescriptionNode
const& node_right);
292 std::unique_ptr<ParameterDescriptionNode>
operator||(std::unique_ptr<ParameterDescriptionNode> node_left,
293 ParameterDescriptionNode
const& node_right);
295 std::unique_ptr<ParameterDescriptionNode>
operator||(ParameterDescriptionNode
const& node_left,
296 std::unique_ptr<ParameterDescriptionNode> node_right);
298 std::unique_ptr<ParameterDescriptionNode>
operator||(std::unique_ptr<ParameterDescriptionNode> node_left,
299 std::unique_ptr<ParameterDescriptionNode> node_right);
303 std::unique_ptr<ParameterDescriptionNode>
operator^(ParameterDescriptionNode
const& node_left,
304 ParameterDescriptionNode
const& node_right);
306 std::unique_ptr<ParameterDescriptionNode>
operator^(std::unique_ptr<ParameterDescriptionNode> node_left,
307 ParameterDescriptionNode
const& node_right);
309 std::unique_ptr<ParameterDescriptionNode>
operator^(ParameterDescriptionNode
const& node_left,
310 std::unique_ptr<ParameterDescriptionNode> node_right);
312 std::unique_ptr<ParameterDescriptionNode>
operator^(std::unique_ptr<ParameterDescriptionNode> node_left,
313 std::unique_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
std::unique_ptr< ParameterDescriptionNode > operator &&(ParameterDescriptionNode const &node_left, ParameterDescriptionNode const &node_right)
virtual bool isWildcard() const
virtual void checkAndGetLabelsAndTypes_(std::set< std::string > &usedLabels, std::set< ParameterTypes > ¶meterTypes, std::set< ParameterTypes > &wildcardTypes) const =0
void writeCfi(std::ostream &os, bool optional, bool &startWithComma, int indentation, bool &wroteSomething) const
void print(std::ostream &os, bool optional, bool writeToCfi, DocFormatHelper &dfh) const
virtual bool hasNestedContent_() const
std::unique_ptr< ParameterDescriptionCases< bool > > operator>>(bool caseValue, ParameterDescriptionNode const &node)
virtual int howManyXORSubNodesExist_(ParameterSet const &pset) const =0
std::string parameterTypeEnumToString(ParameterTypes iType)
static ParameterDescriptionNode * clone(ParameterDescriptionNode const *p)
void printNestedContent(std::ostream &os, bool optional, DocFormatHelper &dfh) const
virtual void writeCfi_(std::ostream &os, bool optional, bool &startWithComma, int indentation, bool &wroteSomething) const =0
static void printSpaces(std::ostream &os, int n)
bool partiallyExists(ParameterSet const &pset) const
std::unique_ptr< ParameterDescriptionCases< bool > > operator||(std::unique_ptr< ParameterDescriptionCases< bool > >, std::unique_ptr< ParameterDescriptionCases< bool > >)
void checkAndGetLabelsAndTypes(std::set< std::string > &usedLabels, std::set< ParameterTypes > ¶meterTypes, std::set< ParameterTypes > &wildcardTypes) const
std::string const & comment() const
int howManyXORSubNodesExist(ParameterSet const &pset) const
bool exists(ParameterSet const &pset) const
virtual void validate_(ParameterSet &pset, std::set< std::string > &validatedLabels, bool optional) const =0
static ParameterTypes toEnum()
static void destroy(ParameterDescriptionNode *p)
std::unique_ptr< ParameterDescriptionNode > operator^(ParameterDescriptionNode const &node_left, ParameterDescriptionNode const &node_right)
virtual bool exists_(ParameterSet const &pset) const =0
ParameterDescriptionNode()
virtual void print_(std::ostream &, bool, bool, DocFormatHelper &) const
virtual void printNestedContent_(std::ostream &, bool, DocFormatHelper &) const
bool hasNestedContent() const
void validate(ParameterSet &pset, std::set< std::string > &validatedLabels, bool optional) const
ParameterDescriptionNode(Comment const &iComment)