CMS 3D CMS Logo

OperatorNode.h

Go to the documentation of this file.
00001 #ifndef ParameterSet_OperatorNode_h
00002 #define ParameterSet_OperatorNode_h
00003 
00004 
00005 #include "FWCore/ParameterSet/interface/Node.h"
00006 
00007 
00008 namespace edm {
00009   namespace pset {
00010 
00011     /*
00012       -----------------------------------------
00013       Operators hold: and/comma type, left and right operands, which
00014       are modules/sequences or more operators
00015     */
00016 
00017     class OperatorNode : public Node
00018     {
00019     public:
00020       OperatorNode(const std::string& t, NodePtr left, NodePtr right, int line=-1);
00022       virtual Node * clone() const;
00023       virtual std::string type() const;
00024       virtual void print(std::ostream& ost, PrintOptions options) const;
00025       virtual bool findChild(const std::string & childName, NodePtr & result);
00026       NodePtr & left() {return left_;}
00027       NodePtr & right() {return right_;}
00028       const NodePtr & left() const {return left_;}
00029       const NodePtr & right() const {return right_;}
00030 
00031 
00032       virtual void accept(Visitor& v) const;
00033 
00034     private:
00035       std::string type_;
00036       NodePtr left_;
00037       NodePtr right_;
00038     };
00039 
00040 
00041   }
00042 }
00043 #endif

Generated on Tue Jun 9 17:36:25 2009 for CMSSW by  doxygen 1.5.4