codecvt_utf8_utf16_encoding.pass.cpp revision 87d1a8a4d81892ccfaf1319d056880e89a17528e
1//===----------------------------------------------------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// <codecvt>
11
12// template <class Elem, unsigned long Maxcode = 0x10ffff,
13//           codecvt_mode Mode = (codecvt_mode)0>
14// class codecvt_utf8_utf16
15//     : public codecvt<Elem, char, mbstate_t>
16// {
17//     // unspecified
18// };
19
20// int encoding() const throw();
21
22#include <codecvt>
23#include <cassert>
24
25int main()
26{
27    {
28        typedef std::codecvt_utf8_utf16<wchar_t> C;
29        C c;
30        int r = c.encoding();
31        assert(r == 0);
32    }
33    {
34        typedef std::codecvt_utf8_utf16<char16_t> C;
35        C c;
36        int r = c.encoding();
37        assert(r == 0);
38    }
39    {
40        typedef std::codecvt_utf8_utf16<char32_t> C;
41        C c;
42        int r = c.encoding();
43        assert(r == 0);
44    }
45}
46