00001
00002 #ifndef MIX_XMLSTRING_H_
00003 #define MIX_XMLSTRING_H_
00004
00005 #include <string>
00006 #include <iosfwd>
00007
00008 namespace MiX{
00015 template <class Char,class Traits,class XMLTraits>
00016 class XMLString : public MiX_STD::basic_string<Char,Traits>{
00017 typedef MiX_STD::basic_string<Char,Traits> super_type;
00018 public:
00019 typedef XMLTraits xml_traits;
00021 explicit XMLString() : super_type() { };
00023 XMLString(const XMLString<Char,Traits,XMLTraits>& str)
00024 : super_type(str){ };
00026 XMLString(const Char* s,size_t n)
00027 : super_type(s,n){ };
00029 XMLString(const Char* s)
00030 : super_type(s){ };
00032 XMLString(size_t n, Char c)
00033 : super_type(n,c){ };
00035 XMLString(const super_type& src)
00036 : super_type(src){ };
00037 };
00039 template <class Char,class Traits,class XMLTraits>
00040 MiX_STD::ostream& operator<<(MiX_STD::ostream& os,const XMLString<Char,Traits,XMLTraits>& src);
00041 }
00042
00043
00044 #ifndef MIX_XMLSTRING_CPP_
00045 #include "XMLString.cpp"
00046 #endif
00047
00048 #endif