CMS 3D CMS Logo

WrapperNode.h

Go to the documentation of this file.
00001 #ifndef ParameterSet_WrapperNode_h
00002 #define ParameterSet_WrapperNode_h
00003 
00004 #include "FWCore/ParameterSet/interface/Node.h"
00005 
00006 namespace edm {
00007   namespace pset {
00008 
00009     /*
00010       -----------------------------------------
00011       Wrappers hold: sequences, paths, endpaths
00012       They hold another Node that actually contains the information.
00013     */
00014 
00015     class WrapperNode : public Node
00016     {
00017     public:
00018       WrapperNode(const std::string& type, const std::string& name,
00019                   NodePtr w, int line=-1);
00020       virtual Node * clone() const;
00021 
00022       virtual std::string type() const;
00023       NodePtr & wrapped() {return wrapped_;}
00024       const NodePtr & wrapped() const {return wrapped_;}
00025       
00026       virtual bool findChild(const std::string & childName, NodePtr & result);
00027 
00028       virtual void print(std::ostream& ost, PrintOptions options) const;
00029 
00030       virtual void accept(Visitor& v) const;
00031 
00035       virtual void insertInto(edm::ProcessDesc & procDesc) const;
00036 
00037     private:
00038       std::string type_;
00039       NodePtr wrapped_;
00040     };
00041 
00042 
00043   }
00044 }
00045 
00046 #endif
00047 

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