00001 00013 #ifndef UTF8_CODECVT_H_INCLUDED 00014 #define UTF8_CODECVT_H_INCLUDED 00015 00016 #include <locale> 00017 00019 00030 template<class Intern = wchar_t> 00031 class utf16_codecvt_facet : public std::codecvt<Intern, char, std::mbstate_t> 00032 { 00033 protected: 00034 virtual std::codecvt_base::result do_in( 00035 std::mbstate_t& state, 00036 const char * from, 00037 const char * from_end, 00038 const char * & from_next, 00039 Intern * to, 00040 Intern * to_end, 00041 Intern*& to_next) const; 00042 00043 virtual bool do_always_noconv() const throw(); 00044 00045 virtual int do_max_length() const throw(); 00046 }; 00047 00048 #endif // UTF8_CODECVT_H_INCLUDED