00001
00002
00003 #ifndef MIX_NAMEDNODE_H_
00004 #define MIX_NAMEDNODE_H_
00005
00006 #include "Node.h"
00007
00008 namespace MiX{
00014 template <class Char,class Traits,class XMLTraits>
00015 class NamedNode : virtual public Node<Char,Traits,XMLTraits>{
00016 public:
00017 MiX_Template_Typedef(Char,Traits,XMLTraits);
00018 typedef NamedNode<Char,Traits,XMLTraits> this_type;
00019 private:
00020 string_type name_;
00026 NamedNode(const this_type& src){ };
00027 protected:
00029 NamedNode(const string_type& name){ setName(name); }
00030 public:
00032 virtual ~NamedNode()throw(){ };
00034 void setName(const string_type& name){name_ = name;};
00036 string_type getName() const{return name_;};
00037 };
00038 }
00039
00040 #ifndef MIX_NAMEDNODE_CPP_
00041 #include "NamedNode.cpp"
00042 #endif
00043
00044 #endif