1//===----------------------------------------------------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// <string>
11
12// template<> struct char_traits<wchar_t>
13
14// typedef wchar_t   char_type;
15// typedef int       int_type;
16// typedef streamoff off_type;
17// typedef streampos pos_type;
18// typedef mbstate_t state_type;
19
20#include <string>
21#include <type_traits>
22
23int main()
24{
25    static_assert((std::is_same<std::char_traits<wchar_t>::char_type, wchar_t>::value), "");
26    static_assert((std::is_same<std::char_traits<wchar_t>::int_type, std::wint_t>::value), "");
27    static_assert((std::is_same<std::char_traits<wchar_t>::off_type, std::streamoff>::value), "");
28    static_assert((std::is_same<std::char_traits<wchar_t>::pos_type, std::wstreampos>::value), "");
29    static_assert((std::is_same<std::char_traits<wchar_t>::state_type, std::mbstate_t>::value), "");
30}
31