1 //===----------------------------------------------------------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is dual licensed under the MIT and the University of Illinois Open
6 // Source Licenses. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
13 #include <cwchar> // for mbstate_t
15 template <class Ptr> void test()
18 ((void)p); // Prevent unused warning
23 test<std::char_traits<char>* >();
24 test<std::char_traits<wchar_t>* >();
25 test<std::char_traits<unsigned short>*>();
27 test<std::basic_ios<char>* >();
28 test<std::basic_ios<wchar_t>* >();
29 test<std::basic_ios<unsigned short>*>();
31 test<std::basic_streambuf<char>* >();
32 test<std::basic_streambuf<wchar_t>* >();
33 test<std::basic_streambuf<unsigned short>*>();
35 test<std::basic_istream<char>* >();
36 test<std::basic_istream<wchar_t>* >();
37 test<std::basic_istream<unsigned short>*>();
39 test<std::basic_ostream<char>* >();
40 test<std::basic_ostream<wchar_t>* >();
41 test<std::basic_ostream<unsigned short>*>();
43 test<std::basic_iostream<char>* >();
44 test<std::basic_iostream<wchar_t>* >();
45 test<std::basic_iostream<unsigned short>*>();
47 test<std::basic_stringbuf<char>* >();
48 test<std::basic_stringbuf<wchar_t>* >();
49 test<std::basic_stringbuf<unsigned short>*>();
51 test<std::basic_istringstream<char>* >();
52 test<std::basic_istringstream<wchar_t>* >();
53 test<std::basic_istringstream<unsigned short>*>();
55 test<std::basic_ostringstream<char>* >();
56 test<std::basic_ostringstream<wchar_t>* >();
57 test<std::basic_ostringstream<unsigned short>*>();
59 test<std::basic_stringstream<char>* >();
60 test<std::basic_stringstream<wchar_t>* >();
61 test<std::basic_stringstream<unsigned short>*>();
63 test<std::basic_filebuf<char>* >();
64 test<std::basic_filebuf<wchar_t>* >();
65 test<std::basic_filebuf<unsigned short>*>();
67 test<std::basic_ifstream<char>* >();
68 test<std::basic_ifstream<wchar_t>* >();
69 test<std::basic_ifstream<unsigned short>*>();
71 test<std::basic_ofstream<char>* >();
72 test<std::basic_ofstream<wchar_t>* >();
73 test<std::basic_ofstream<unsigned short>*>();
75 test<std::basic_fstream<char>* >();
76 test<std::basic_fstream<wchar_t>* >();
77 test<std::basic_fstream<unsigned short>*>();
79 test<std::istreambuf_iterator<char>* >();
80 test<std::istreambuf_iterator<wchar_t>* >();
81 test<std::istreambuf_iterator<unsigned short>*>();
83 test<std::ostreambuf_iterator<char>* >();
84 test<std::ostreambuf_iterator<wchar_t>* >();
85 test<std::ostreambuf_iterator<unsigned short>*>();
90 test<std::streambuf*>();
91 test<std::istream* >();
92 test<std::ostream* >();
93 test<std::iostream* >();
95 test<std::stringbuf* >();
96 test<std::istringstream*>();
97 test<std::ostringstream*>();
98 test<std::stringstream* >();
100 test<std::filebuf* >();
101 test<std::ifstream*>();
102 test<std::ofstream*>();
103 test<std::fstream* >();
105 test<std::wstreambuf*>();
106 test<std::wistream* >();
107 test<std::wostream* >();
108 test<std::wiostream* >();
110 test<std::wstringbuf* >();
111 test<std::wistringstream*>();
112 test<std::wostringstream*>();
113 test<std::wstringstream* >();
115 test<std::wfilebuf* >();
116 test<std::wifstream*>();
117 test<std::wofstream*>();
118 test<std::wfstream* >();
120 test<std::fpos<std::mbstate_t>*>();
121 test<std::streampos* >();
122 test<std::wstreampos* >();