OLD | NEW |
| (Empty) |
1 // 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com> | |
2 | |
3 // Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 | |
4 // Free Software Foundation | |
5 // | |
6 // This file is part of the GNU ISO C++ Library. This library is free | |
7 // software; you can redistribute it and/or modify it under the | |
8 // terms of the GNU General Public License as published by the | |
9 // Free Software Foundation; either version 3, or (at your option) | |
10 // any later version. | |
11 | |
12 // This library is distributed in the hope that it will be useful, | |
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 // GNU General Public License for more details. | |
16 | |
17 // You should have received a copy of the GNU General Public License along | |
18 // with this library; see the file COPYING3. If not see | |
19 // <http://www.gnu.org/licenses/>. | |
20 | |
21 // 22.2.1.5 - Template class codecvt [lib.locale.codecvt] | |
22 | |
23 #include <locale> | |
24 #include <cstring> | |
25 #include <testsuite_hooks.h> | |
26 | |
27 // Required instantiation, degenerate conversion. | |
28 // codecvt<char, char, mbstate_t> | |
29 void test01() | |
30 { | |
31 using namespace std; | |
32 typedef codecvt_base::result result; | |
33 typedef codecvt<char, char, mbstate_t> c_codecvt; | |
34 | |
35 bool test __attribute__((unused)) = true; | |
36 int size = 25; | |
37 char* c_arr = new char[size]; | |
38 char* c_ref = new char[size]; | |
39 | |
40 locale loc = locale::classic(); | |
41 const c_codecvt* cvt = &use_facet<c_codecvt>(loc); | |
42 | |
43 // According to the resolution of DR19 (see also libstd++/9168), in | |
44 // case of degenerate conversion ('noconv'), "there are no changes to | |
45 // the values in [to, to_limit)." | |
46 memset(c_ref, 'X', size); | |
47 | |
48 int i = cvt->encoding(); | |
49 VERIFY( i == 1 ); | |
50 | |
51 delete [] c_arr; | |
52 delete [] c_ref; | |
53 } | |
54 | |
55 int main () | |
56 { | |
57 test01(); | |
58 return 0; | |
59 } | |
OLD | NEW |