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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [libstdc++-v3/] [doc/] [html/] [manual/] [facets.html] - Blame information for rev 424

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

Line No. Rev Author Line
1 424 jeremybenn
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 15. Facets aka Categories</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="localization.html" title="Part VI.  Localization" /><link rel="prev" href="locales.html" title="Chapter 14. Locales" /><link rel="next" href="codecvt.html" title="codecvt" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 15. Facets aka Categories</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="locales.html">Prev</a> </td><th width="60%" align="center">Part VI. 
4
  Localization
5
 
6
</th><td width="20%" align="right"> <a accesskey="n" href="codecvt.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 15. Facets aka Categories"><div class="titlepage"><div><div><h2 class="title"><a id="manual.localization.facet"></a>Chapter 15. Facets aka Categories</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="facets.html#manual.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="sect2"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="sect1"><a href="codecvt.html">codecvt</a></span></dt><dd><dl><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.design">Design</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.use">Use</a></span></dt><dt><span class="sect2"><a href="codecvt.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="sect1"><a href="messages.html">messages</a></span></dt><dd><dl><dt><span class="sect2"><a href="messages.html#facet.messages.req">Requirements</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.design">Design</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.use">Use</a></span></dt><dt><span class="sect2"><a href="messages.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></div><div class="sect1" title="ctype"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.localization.facet.ctype"></a>ctype</h2></div></div></div><div class="sect2" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="facet.ctype.impl"></a>Implementation</h3></div></div></div><div class="sect3" title="Specializations"><div class="titlepage"><div><div><h4 class="title"><a id="id602134"></a>Specializations</h4></div></div></div><p>
7
For the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt; ,
8
conversions are made between the internal character set (always UCS4
9
on GNU/Linux) and whatever the currently selected locale for the
10
LC_CTYPE category implements.
11
</p><p>
12
The two required specializations are implemented as follows:
13
</p><p>
14
<code class="code">
15
ctype&lt;char&gt;
16
</code>
17
</p><p>
18
This is simple specialization. Implementing this was a piece of cake.
19
</p><p>
20
<code class="code">
21
ctype&lt;wchar_t&gt;
22
</code>
23
</p><p>
24
This specialization, by specifying all the template parameters, pretty
25
much ties the hands of implementors. As such, the implementation is
26
straightforward, involving mcsrtombs for the conversions between char
27
to wchar_t and wcsrtombs for conversions between wchar_t and char.
28
</p><p>
29
Neither of these two required specializations deals with Unicode
30
characters.
31
</p></div></div><div class="sect2" title="Future"><div class="titlepage"><div><div><h3 class="title"><a id="facet.ctype.future"></a>Future</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
32
   How to deal with the global locale issue?
33
   </p></li><li class="listitem"><p>
34
   How to deal with different types than char, wchar_t? </p></li><li class="listitem"><p>
35
   Overlap between codecvt/ctype: narrow/widen
36
   </p></li><li class="listitem"><p>
37
       Mask typedef in codecvt_base, argument types in codecvt.  what
38
       is know about this type?
39
   </p></li><li class="listitem"><p>
40
   Why mask* argument in codecvt?
41
   </p></li><li class="listitem"><p>
42
       Can this be made (more) generic? is there a simple way to
43
       straighten out the configure-time mess that is a by-product of
44
       this class?
45
   </p></li><li class="listitem"><p>
46
       Get the ctype&lt;wchar_t&gt;::mask stuff under control. Need to
47
       make some kind of static table, and not do lookup every time
48
       somebody hits the do_is... functions. Too bad we can't just
49
       redefine mask for ctype&lt;wchar_t&gt;
50
   </p></li><li class="listitem"><p>
51
       Rename abstract base class. See if just smash-overriding is a
52
       better approach. Clarify, add sanity to naming.
53
     </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="facet.ctype.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id721212"></a><p><span class="title"><i>
54
      The GNU C Library
55
    </i>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6  Character Set Handling and 7 Locales and Internationalization. </span></p></div><div class="biblioentry" title="Correspondence"><a id="id611041"></a><p><span class="title"><i>
56
      Correspondence
57
    </i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id612309"></a><p><span class="title"><i>
58
      ISO/IEC 14882:1998 Programming languages - C++
59
    </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id612328"></a><p><span class="title"><i>
60
      ISO/IEC 9899:1999 Programming languages - C
61
    </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)"><a id="id626861"></a><p><span class="title"><i>
62
      The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)
63
    </i>. </span><span class="copyright">Copyright © 1999
64
      The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span><span class="biblioid">
65
      <a class="ulink" href="http://www.unix.org/version3/ieee_std.html" target="_top">
66
      </a>
67
    . </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id626888"></a><p><span class="title"><i>
68
      The C++ Programming Language, Special Edition
69
    </i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
70
        Addison Wesley
71
      . </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id655841"></a><p><span class="title"><i>
72
      Standard C++ IOStreams and Locales
73
    </i>. </span><span class="subtitle">
74
      Advanced Programmer's Guide and Reference
75
    . </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
76
        Addison Wesley Longman
77
      . </span></span></p></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="locales.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="localization.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="codecvt.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 14. Locales </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> codecvt</td></tr></table></div></body></html>

powered by: WebSVN 2.1.0

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