00001
00002
00003 #ifndef MIX_NAMEDNODE_H_
00004 #define MIX_NAMEDNODE_H_
00005
00006 #include "Node.h"
00007
00008 namespace MiX{
00014 template <class charT,class traitsT>
00015 class NamedNode : virtual public Node<charT,traitsT>{
00016 public:
00017 MiX_Template_Typedef(charT,traitsT);
00018 typedef NamedNode<charT,traitsT> 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
00041 #endif