00001
00002
00003 #ifndef MIX_VALUE_H_
00004 #define MIX_VALUE_H_
00005
00006 #include "classes.h"
00007 #include "Node.h"
00008
00009 namespace MiX{
00015 template <class Char,class Traits,class XMLTraits>
00016 class Value : virtual public Node<Char,Traits,XMLTraits>{
00017 public:
00018 MiX_Template_Typedef(Char,Traits,XMLTraits);
00019 typedef Element<Char,Traits,XMLTraits> this_type;
00020 typedef NodeContainer<Char,Traits,XMLTraits> nodecontainer_type;
00021 private:
00022 XMLString<Char,Traits,XMLTraits> val_;
00023 protected:
00024 Value(const XMLString<Char,Traits,XMLTraits>& val)
00025 : Node<Char,Traits,XMLTraits>(){ setValue(val); };
00031 Value(const Value<Char,Traits,XMLTraits>& src){ };
00032 public:
00034 virtual ~Value()throw() { };
00036 void setValue(const XMLString<Char,Traits,XMLTraits>& val)
00037 { val_ = val; };
00039 XMLString<Char,Traits,XMLTraits> getValue() const
00040 { return val_; };
00041 };
00042 }
00043
00044 #ifndef MIX_VALUE_CPP_
00045 #include "Value.cpp"
00046 #endif
00047
00048 #endif