codecvt_utf16_encoding.pass.cpp revision 87d1a8a4d81892ccfaf1319d056880e89a17528e
187d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant//===----------------------------------------------------------------------===// 287d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// 387d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// The LLVM Compiler Infrastructure 487d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// 587d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// This file is distributed under the University of Illinois Open Source 687d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// License. See LICENSE.TXT for details. 787d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// 887d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant//===----------------------------------------------------------------------===// 987d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant 1087d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// <codecvt> 1187d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant 1287d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// template <class Elem, unsigned long Maxcode = 0x10ffff, 1387d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// codecvt_mode Mode = (codecvt_mode)0> 1487d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// class codecvt_utf16 1587d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// : public codecvt<Elem, char, mbstate_t> 1687d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// { 1787d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// // unspecified 1887d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// }; 1987d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant 2087d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant// int encoding() const throw(); 2187d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant 2287d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant#include <codecvt> 2387d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant#include <cassert> 2487d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant 2587d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnantint main() 2687d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant{ 2787d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant { 2887d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant typedef std::codecvt_utf16<wchar_t> C; 2987d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant C c; 3087d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant int r = c.encoding(); 3187d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant assert(r == 0); 3287d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant } 3387d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant { 3487d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant typedef std::codecvt_utf16<char16_t> C; 3587d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant C c; 3687d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant int r = c.encoding(); 3787d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant assert(r == 0); 3887d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant } 3987d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant { 4087d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant typedef std::codecvt_utf16<char32_t> C; 4187d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant C c; 4287d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant int r = c.encoding(); 4387d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant assert(r == 0); 4487d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant } 4587d1a8a4d81892ccfaf1319d056880e89a17528eHoward Hinnant} 46