00001
00002 #ifndef MIX_XMLSTRING_H_
00003 #define MIX_XMLSTRING_H_
00004
00005 #include <string>
00006 #include <iosfwd>
00007
00008 #include "config.h"
00009
00010 namespace MiX{
00017 template <class charT,class traitsT>
00018 class XMLString
00019 : public std::basic_string<charT,typename traitsT::char_traits>{
00020 typedef std::basic_string<charT,typename traitsT::char_traits> super_type;
00021 typedef XMLString<charT,traitsT> this_type;
00022 public:
00024 explicit XMLString() : super_type() { };
00026 XMLString(const this_type& str) : super_type(str){ };
00028 XMLString(const charT* s,size_t n) : super_type(s,n){ };
00030 XMLString(const charT* s) : super_type(s){ };
00032 XMLString(size_t n, char c) : super_type(n,c){ };
00034 XMLString(const super_type& src) : super_type(src){ };
00035 };
00037 template <class charT,class traitsT>
00038 std::ostream& operator<<(std::ostream& os,const XMLString<charT,traitsT>& src);
00039 }
00040
00041
00042 #ifndef MIX_XMLSTRING_CPP_
00043 #include "XMLString.cpp"
00044 #endif
00045
00046 #endif