#ifndef CPPUNICODE_H #define CPPUNICODE_H #include typedef std::basic_string, std::allocator > cpp_u16string; typedef std::basic_string, std::allocator > cpp_u32string; // #if defined(_FSTREAM_) || defined(_LIBCPP_FSTREAM) || defined(_GLIBCXX_FSTREAM) typedef std::basic_ifstream > cpp_u16ifstream; typedef std::basic_ifstream > cpp_u32ifstream; typedef std::basic_ofstream > cpp_u16ofstream; typedef std::basic_ofstream > cpp_u32ofstream; typedef std::basic_fstream > cpp_u16fstream; typedef std::basic_fstream > cpp_u32fstream; #endif // inline char16_t cpp_u32low(char32_t c) { return c; } inline char16_t cpp_u32high(char32_t c) { return c >> 16; } #endif // CPPUNICODE_H