CMS 3D CMS Logo

VEntryNode.h

Go to the documentation of this file.
00001 #ifndef ParameterSet_VEntryNode_h
00002 #define ParameterSet_VEntryNode_h
00003 
00004 #include "FWCore/ParameterSet/interface/Node.h"
00005 
00013 namespace edm {
00014   namespace pset {
00015 
00016 
00017     class VEntryNode : public Node
00018     {
00019     public:
00020       VEntryNode(const std::string& typ, const std::string& name,
00021                  StringListPtr values,bool untracked, int line=-1);
00023       VEntryNode(const VEntryNode & n);
00024       virtual Node * clone() const { return new VEntryNode(*this);}
00025 
00026       virtual std::string type() const;
00027       virtual bool isTracked() const {return tracked_;}
00028       StringListPtr value() const {return value_;}
00029       virtual void print(std::ostream& ost, PrintOptions options) const;
00030 
00032       virtual void locate(const std::string & s, std::ostream& ost) const;
00033 
00034       virtual void accept(Visitor& v) const;
00035       virtual bool isReplaceable() const {return true;}
00036       // keeps the orignal type and tracked-ness
00037       virtual void replaceWith(const ReplaceNode *);
00039       virtual void append(NodePtr ptr);
00040 
00041       virtual edm::Entry makeEntry() const;
00042 
00043     private:
00044       std::string type_;
00045       StringListPtr value_;
00046       bool tracked_;
00047     };
00048 
00049   }
00050 }
00051 
00052 #endif
00053 

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