OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libstdc++-v3/] [doc/] [xml/] [manual/] [ctype.xml] - Blame information for rev 745

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 742 jeremybenn
2
         xml:id="std.localization.facet.ctype" xreflabel="ctype">
3
4
 
5
ctype
6
  
7
    
8
      ISO C++
9
    
10
    
11
      ctype
12
    
13
  
14
15
 
16
 
17
 
18
Implementation
19
 
20
 
21
  
Specializations
22
 
23
 
24
25
For the required specialization codecvt<wchar_t, char, mbstate_t> ,
26
conversions are made between the internal character set (always UCS4
27
on GNU/Linux) and whatever the currently selected locale for the
28
LC_CTYPE category implements.
29
30
 
31
32
The two required specializations are implemented as follows:
33
34
 
35
36
37
ctype<char>
38
39
40
41
This is simple specialization. Implementing this was a piece of cake.
42
43
 
44
45
46
ctype<wchar_t>
47
48
49
50
This specialization, by specifying all the template parameters, pretty
51
much ties the hands of implementors. As such, the implementation is
52
straightforward, involving mcsrtombs for the conversions between char
53
to wchar_t and wcsrtombs for conversions between wchar_t and char.
54
55
 
56
57
Neither of these two required specializations deals with Unicode
58
characters.
59
60
 
61
  
62
63
 
64
Future
65
 
66
 
67
 
68
69
   
70
   
71
   How to deal with the global locale issue?
72
   
73
 
74
   
75
   
76
   How to deal with different types than char, wchar_t? 
77
 
78
   
79
   Overlap between codecvt/ctype: narrow/widen
80
   
81
 
82
   
83
     
84
       Mask typedef in codecvt_base, argument types in codecvt.  what
85
       is know about this type?
86
   
87
 
88
   
89
   
90
   Why mask* argument in codecvt?
91
   
92
 
93
   
94
     
95
       Can this be made (more) generic? is there a simple way to
96
       straighten out the configure-time mess that is a by-product of
97
       this class?
98
   
99
 
100
   
101
     
102
       Get the ctype<wchar_t>::mask stuff under control. Need to
103
       make some kind of static table, and not do lookup every time
104
       somebody hits the do_is... functions. Too bad we can't just
105
       redefine mask for ctype<wchar_t>
106
   
107
 
108
   
109
     
110
       Rename abstract base class. See if just smash-overriding is a
111
       better approach. Clarify, add sanity to naming.
112
     
113
   
114
 
115
116
 
117
 
118
119
 
120
 
121
Bibliography
122
 
123
 
124
  
125
    
126
      The GNU C Library
127
    
128
    McGrathRoland
129
    DrepperUlrich
130
    
131
      2007
132
      FSF
133
    
134
    Chapters 6  Character Set Handling and 7 Locales and Internationalization
135
  
136
 
137
  
138
    
139
      Correspondence
140
    
141
    DrepperUlrich
142
    
143
      2002
144
      
145
    
146
  
147
 
148
  
149
    
150
      ISO/IEC 14882:1998 Programming languages - C++
151
    
152
    
153
      1998
154
      ISO
155
    
156
  
157
 
158
  
159
    
160
      ISO/IEC 9899:1999 Programming languages - C
161
    
162
    
163
      1999
164
      ISO
165
    
166
  
167
 
168
  
169
      </code></pre></td>
      </tr>
      <tr valign="middle">
         <td>170</td>
         <td></td>
         <td></td>
         <td class="code"><pre><code>        <link xmlns:xlink="http://www.w3.org/1999/xlink"</code></pre></td>
      </tr>
      <tr valign="middle">
         <td>171</td>
         <td></td>
         <td></td>
         <td class="code"><pre><code>              xlink:href="http://www.unix.org/version3/ieee_std.html"></code></pre></td>
      </tr>
      <tr valign="middle">
         <td>172</td>
         <td></td>
         <td></td>
         <td class="code"><pre><code>        The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)</code></pre></td>
      </tr>
      <tr valign="middle">
         <td>173</td>
         <td></td>
         <td></td>
         <td class="code"><pre><code>        </link></code></pre></td>
      </tr>
      <tr valign="middle">
         <td>174</td>
         <td></td>
         <td></td>
         <td class="code"><pre><code>      
175
 
176
    
177
      1999
178
      
179
      The Open Group/The Institute of Electrical and Electronics Engineers, Inc.
180
    
181
  
182
 
183
  
184
    
185
      The C++ Programming Language, Special Edition
186
    
187
    StroustrupBjarne
188
    
189
      2000
190
      Addison Wesley, Inc.
191
    
192
    Appendix D
193
    
194
      
195
        Addison Wesley
196
      
197
    
198
  
199
 
200
  
201
    
202
      Standard C++ IOStreams and Locales
203
    
204
    
205
      Advanced Programmer's Guide and Reference
206
    
207
    LangerAngelika
208
    KreftKlaus
209
    
210
      2000
211
      Addison Wesley Longman, Inc.
212
    
213
    
214
      
215
        Addison Wesley Longman
216
      
217
    
218
  
219
 
220
221
 
222

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.