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