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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [libstdc++-v3/] [doc/] [xml/] [manual/] [ctype.xml] - Blame information for rev 424

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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