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