mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			436 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			436 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			HTML
		
	
	
	
| <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | ||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 8.  Localization</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="strings.html" title="Chapter 7.  Strings" /><link rel="next" href="facets.html" title="Facets" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. 
 | ||
|   Localization
 | ||
|   
 | ||
| </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="strings.html">Prev</a> </td><th width="60%" align="center">Part II. 
 | ||
|     Standard Contents
 | ||
|   </th><td width="20%" align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="std.localization"></a>Chapter 8. 
 | ||
|   Localization
 | ||
|   <a id="id-1.3.4.6.1.1.1" class="indexterm"></a>
 | ||
| </h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl.spec">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.locales"></a>Locales</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.locales.locale"></a>locale</h3></div></div></div><p>
 | ||
| Describes the basic locale object, including nested
 | ||
| classes id, facet, and the reference-counted implementation object,
 | ||
| class _Impl.
 | ||
| </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.req"></a>Requirements</h4></div></div></div><p>
 | ||
| Class locale is non-templatized and has two distinct types nested
 | ||
| inside of it:
 | ||
| </p><div class="blockquote"><blockquote class="blockquote"><p>
 | ||
| <span class="emphasis"><em>
 | ||
| class facet
 | ||
| 22.1.1.1.2 Class locale::facet
 | ||
| </em></span>
 | ||
| </p></blockquote></div><p>
 | ||
| Facets actually implement locale functionality. For instance, a facet
 | ||
| called numpunct is the data object that can be used to query for the
 | ||
| thousands separator in the locale.
 | ||
| </p><p>
 | ||
| Literally, a facet is strictly defined:
 | ||
| </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
 | ||
|       Containing the following public data member:
 | ||
|     </p><p>
 | ||
|       <code class="code">static locale::id id;</code>
 | ||
|     </p></li><li class="listitem"><p>
 | ||
|       Derived from another facet:
 | ||
|     </p><p>
 | ||
|       <code class="code">class gnu_codecvt: public std::ctype<user-defined-type></code>
 | ||
|     </p></li></ul></div><p>
 | ||
| Of interest in this class are the memory management options explicitly
 | ||
| specified as an argument to facet's constructor. Each constructor of a
 | ||
| facet class takes a std::size_t __refs argument: if __refs == 0, the
 | ||
| facet is deleted when the locale containing it is destroyed. If __refs
 | ||
| == 1, the facet is not destroyed, even when it is no longer
 | ||
| referenced.
 | ||
| </p><div class="blockquote"><blockquote class="blockquote"><p>
 | ||
| <span class="emphasis"><em>
 | ||
| class id
 | ||
| 22.1.1.1.3 - Class locale::id
 | ||
| </em></span>
 | ||
| </p></blockquote></div><p>
 | ||
| Provides an index for looking up specific facets.
 | ||
| </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.design"></a>Design</h4></div></div></div><p>
 | ||
| The major design challenge is fitting an object-orientated and
 | ||
| non-global locale design on top of POSIX and other relevant standards,
 | ||
| which include the Single Unix (nee X/Open.)
 | ||
| </p><p>
 | ||
| Because C and earlier versions of POSIX fall down so completely,
 | ||
| portability is an issue.
 | ||
| </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.impl"></a>Implementation</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="locale.impl.c"></a>Interacting with "C" locales</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
 | ||
|        <code class="code">locale -a</code> displays available locales.
 | ||
|      </p><div class="blockquote"><blockquote class="blockquote"><pre class="programlisting">
 | ||
| af_ZA
 | ||
| ar_AE
 | ||
| ar_AE.utf8
 | ||
| ar_BH
 | ||
| ar_BH.utf8
 | ||
| ar_DZ
 | ||
| ar_DZ.utf8
 | ||
| ar_EG
 | ||
| ar_EG.utf8
 | ||
| ar_IN
 | ||
| ar_IQ
 | ||
| ar_IQ.utf8
 | ||
| ar_JO
 | ||
| ar_JO.utf8
 | ||
| ar_KW
 | ||
| ar_KW.utf8
 | ||
| ar_LB
 | ||
| ar_LB.utf8
 | ||
| ar_LY
 | ||
| ar_LY.utf8
 | ||
| ar_MA
 | ||
| ar_MA.utf8
 | ||
| ar_OM
 | ||
| ar_OM.utf8
 | ||
| ar_QA
 | ||
| ar_QA.utf8
 | ||
| ar_SA
 | ||
| ar_SA.utf8
 | ||
| ar_SD
 | ||
| ar_SD.utf8
 | ||
| ar_SY
 | ||
| ar_SY.utf8
 | ||
| ar_TN
 | ||
| ar_TN.utf8
 | ||
| ar_YE
 | ||
| ar_YE.utf8
 | ||
| be_BY
 | ||
| be_BY.utf8
 | ||
| bg_BG
 | ||
| bg_BG.utf8
 | ||
| br_FR
 | ||
| bs_BA
 | ||
| C
 | ||
| ca_ES
 | ||
| ca_ES@euro
 | ||
| ca_ES.utf8
 | ||
| ca_ES.utf8@euro
 | ||
| cs_CZ
 | ||
| cs_CZ.utf8
 | ||
| cy_GB
 | ||
| da_DK
 | ||
| da_DK.iso885915
 | ||
| da_DK.utf8
 | ||
| de_AT
 | ||
| de_AT@euro
 | ||
| de_AT.utf8
 | ||
| de_AT.utf8@euro
 | ||
| de_BE
 | ||
| de_BE@euro
 | ||
| de_BE.utf8
 | ||
| de_BE.utf8@euro
 | ||
| de_CH
 | ||
| de_CH.utf8
 | ||
| de_DE
 | ||
| de_DE@euro
 | ||
| de_DE.utf8
 | ||
| de_DE.utf8@euro
 | ||
| de_LU
 | ||
| de_LU@euro
 | ||
| de_LU.utf8
 | ||
| de_LU.utf8@euro
 | ||
| el_GR
 | ||
| el_GR.utf8
 | ||
| en_AU
 | ||
| en_AU.utf8
 | ||
| en_BW
 | ||
| en_BW.utf8
 | ||
| en_CA
 | ||
| en_CA.utf8
 | ||
| en_DK
 | ||
| en_DK.utf8
 | ||
| en_GB
 | ||
| en_GB.iso885915
 | ||
| en_GB.utf8
 | ||
| en_HK
 | ||
| en_HK.utf8
 | ||
| en_IE
 | ||
| en_IE@euro
 | ||
| en_IE.utf8
 | ||
| en_IE.utf8@euro
 | ||
| en_IN
 | ||
| en_NZ
 | ||
| en_NZ.utf8
 | ||
| en_PH
 | ||
| en_PH.utf8
 | ||
| en_SG
 | ||
| en_SG.utf8
 | ||
| en_US
 | ||
| en_US.iso885915
 | ||
| en_US.utf8
 | ||
| en_ZA
 | ||
| en_ZA.utf8
 | ||
| en_ZW
 | ||
| en_ZW.utf8
 | ||
| es_AR
 | ||
| es_AR.utf8
 | ||
| es_BO
 | ||
| es_BO.utf8
 | ||
| es_CL
 | ||
| es_CL.utf8
 | ||
| es_CO
 | ||
| es_CO.utf8
 | ||
| es_CR
 | ||
| es_CR.utf8
 | ||
| es_DO
 | ||
| es_DO.utf8
 | ||
| es_EC
 | ||
| es_EC.utf8
 | ||
| es_ES
 | ||
| es_ES@euro
 | ||
| es_ES.utf8
 | ||
| es_ES.utf8@euro
 | ||
| es_GT
 | ||
| es_GT.utf8
 | ||
| es_HN
 | ||
| es_HN.utf8
 | ||
| es_MX
 | ||
| es_MX.utf8
 | ||
| es_NI
 | ||
| es_NI.utf8
 | ||
| es_PA
 | ||
| es_PA.utf8
 | ||
| es_PE
 | ||
| es_PE.utf8
 | ||
| es_PR
 | ||
| es_PR.utf8
 | ||
| es_PY
 | ||
| es_PY.utf8
 | ||
| es_SV
 | ||
| es_SV.utf8
 | ||
| es_US
 | ||
| es_US.utf8
 | ||
| es_UY
 | ||
| es_UY.utf8
 | ||
| es_VE
 | ||
| es_VE.utf8
 | ||
| et_EE
 | ||
| et_EE.utf8
 | ||
| eu_ES
 | ||
| eu_ES@euro
 | ||
| eu_ES.utf8
 | ||
| eu_ES.utf8@euro
 | ||
| fa_IR
 | ||
| fi_FI
 | ||
| fi_FI@euro
 | ||
| fi_FI.utf8
 | ||
| fi_FI.utf8@euro
 | ||
| fo_FO
 | ||
| fo_FO.utf8
 | ||
| fr_BE
 | ||
| fr_BE@euro
 | ||
| fr_BE.utf8
 | ||
| fr_BE.utf8@euro
 | ||
| fr_CA
 | ||
| fr_CA.utf8
 | ||
| fr_CH
 | ||
| fr_CH.utf8
 | ||
| fr_FR
 | ||
| fr_FR@euro
 | ||
| fr_FR.utf8
 | ||
| fr_FR.utf8@euro
 | ||
| fr_LU
 | ||
| fr_LU@euro
 | ||
| fr_LU.utf8
 | ||
| fr_LU.utf8@euro
 | ||
| ga_IE
 | ||
| ga_IE@euro
 | ||
| ga_IE.utf8
 | ||
| ga_IE.utf8@euro
 | ||
| gl_ES
 | ||
| gl_ES@euro
 | ||
| gl_ES.utf8
 | ||
| gl_ES.utf8@euro
 | ||
| gv_GB
 | ||
| gv_GB.utf8
 | ||
| he_IL
 | ||
| he_IL.utf8
 | ||
| hi_IN
 | ||
| hr_HR
 | ||
| hr_HR.utf8
 | ||
| hu_HU
 | ||
| hu_HU.utf8
 | ||
| id_ID
 | ||
| id_ID.utf8
 | ||
| is_IS
 | ||
| is_IS.utf8
 | ||
| it_CH
 | ||
| it_CH.utf8
 | ||
| it_IT
 | ||
| it_IT@euro
 | ||
| it_IT.utf8
 | ||
| it_IT.utf8@euro
 | ||
| iw_IL
 | ||
| iw_IL.utf8
 | ||
| ja_JP.eucjp
 | ||
| ja_JP.utf8
 | ||
| ka_GE
 | ||
| kl_GL
 | ||
| kl_GL.utf8
 | ||
| ko_KR.euckr
 | ||
| ko_KR.utf8
 | ||
| kw_GB
 | ||
| kw_GB.utf8
 | ||
| lt_LT
 | ||
| lt_LT.utf8
 | ||
| lv_LV
 | ||
| lv_LV.utf8
 | ||
| mi_NZ
 | ||
| mk_MK
 | ||
| mk_MK.utf8
 | ||
| mr_IN
 | ||
| ms_MY
 | ||
| ms_MY.utf8
 | ||
| mt_MT
 | ||
| mt_MT.utf8
 | ||
| nl_BE
 | ||
| nl_BE@euro
 | ||
| nl_BE.utf8
 | ||
| nl_BE.utf8@euro
 | ||
| nl_NL
 | ||
| nl_NL@euro
 | ||
| nl_NL.utf8
 | ||
| nl_NL.utf8@euro
 | ||
| nn_NO
 | ||
| nn_NO.utf8
 | ||
| no_NO
 | ||
| no_NO.utf8
 | ||
| oc_FR
 | ||
| pl_PL
 | ||
| pl_PL.utf8
 | ||
| POSIX
 | ||
| pt_BR
 | ||
| pt_BR.utf8
 | ||
| pt_PT
 | ||
| pt_PT@euro
 | ||
| pt_PT.utf8
 | ||
| pt_PT.utf8@euro
 | ||
| ro_RO
 | ||
| ro_RO.utf8
 | ||
| ru_RU
 | ||
| ru_RU.koi8r
 | ||
| ru_RU.utf8
 | ||
| ru_UA
 | ||
| ru_UA.utf8
 | ||
| se_NO
 | ||
| sk_SK
 | ||
| sk_SK.utf8
 | ||
| sl_SI
 | ||
| sl_SI.utf8
 | ||
| sq_AL
 | ||
| sq_AL.utf8
 | ||
| sr_YU
 | ||
| sr_YU@cyrillic
 | ||
| sr_YU.utf8
 | ||
| sr_YU.utf8@cyrillic
 | ||
| sv_FI
 | ||
| sv_FI@euro
 | ||
| sv_FI.utf8
 | ||
| sv_FI.utf8@euro
 | ||
| sv_SE
 | ||
| sv_SE.iso885915
 | ||
| sv_SE.utf8
 | ||
| ta_IN
 | ||
| te_IN
 | ||
| tg_TJ
 | ||
| th_TH
 | ||
| th_TH.utf8
 | ||
| tl_PH
 | ||
| tr_TR
 | ||
| tr_TR.utf8
 | ||
| uk_UA
 | ||
| uk_UA.utf8
 | ||
| ur_PK
 | ||
| uz_UZ
 | ||
| vi_VN
 | ||
| vi_VN.tcvn
 | ||
| wa_BE
 | ||
| wa_BE@euro
 | ||
| yi_US
 | ||
| zh_CN
 | ||
| zh_CN.gb18030
 | ||
| zh_CN.gbk
 | ||
| zh_CN.utf8
 | ||
| zh_HK
 | ||
| zh_HK.utf8
 | ||
| zh_TW
 | ||
| zh_TW.euctw
 | ||
| zh_TW.utf8
 | ||
| </pre></blockquote></div></li><li class="listitem"><p>
 | ||
|        <code class="code">`locale`</code> displays environmental variables that
 | ||
|        impact how locale("") will be deduced.
 | ||
|      </p><div class="blockquote"><blockquote class="blockquote"><pre class="programlisting">
 | ||
| LANG=en_US
 | ||
| LC_CTYPE="en_US"
 | ||
| LC_NUMERIC="en_US"
 | ||
| LC_TIME="en_US"
 | ||
| LC_COLLATE="en_US"
 | ||
| LC_MONETARY="en_US"
 | ||
| LC_MESSAGES="en_US"
 | ||
| LC_PAPER="en_US"
 | ||
| LC_NAME="en_US"
 | ||
| LC_ADDRESS="en_US"
 | ||
| LC_TELEPHONE="en_US"
 | ||
| LC_MEASUREMENT="en_US"
 | ||
| LC_IDENTIFICATION="en_US"
 | ||
| LC_ALL=
 | ||
| </pre></blockquote></div></li></ul></div><p>
 | ||
| From Josuttis, p. 697-698, which says, that "there is only *one*
 | ||
| relation (of the C++ locale mechanism) to the C locale mechanism: the
 | ||
| global C locale is modified if a named C++ locale object is set as the
 | ||
| global locale" (emphasis Paolo), that is:
 | ||
| </p><pre class="programlisting">std::locale::global(std::locale(""));</pre><p>affects the C functions as if the following call was made:</p><pre class="programlisting">std::setlocale(LC_ALL, "");</pre><p>
 | ||
|   On the other hand, there is *no* vice versa, that is, calling
 | ||
|   setlocale has *no* whatsoever on the C++ locale mechanism, in
 | ||
|   particular on the working of locale(""), which constructs the locale
 | ||
|   object from the environment of the running program, that is, in
 | ||
|   practice, the set of LC_ALL, LANG, etc. variable of the shell.
 | ||
| </p></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.future"></a>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
 | ||
|        Locale initialization: at what point does _S_classic, _S_global
 | ||
|        get initialized? Can named locales assume this initialization
 | ||
|        has already taken place?
 | ||
|      </p></li><li class="listitem"><p>
 | ||
|        Document how named locales error check when filling data
 | ||
|        members. I.e., a fr_FR locale that doesn't have
 | ||
|        numpunct::truename(): does it use "true"? Or is it a blank
 | ||
|        string? What's the convention?
 | ||
|    </p></li><li class="listitem"><p>
 | ||
|        Explain how locale aliasing happens. When does "de_DE" use "de"
 | ||
|        information? What is the rule for locales composed of just an
 | ||
|        ISO language code (say, "de") and locales with both an ISO
 | ||
|        language code and ISO country code (say, "de_DE").
 | ||
|      </p></li><li class="listitem"><p>
 | ||
|        What should non-required facet instantiations do?  If the
 | ||
|        generic implementation is provided, then how to end-users
 | ||
|        provide specializations?
 | ||
|    </p></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id-1.3.4.6.2.2.7.2"></a><p><span class="citetitle"><em class="citetitle">
 | ||
|       The GNU C Library
 | ||
|     </em>. </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"><a id="id-1.3.4.6.2.2.7.3"></a><p><span class="citetitle"><em class="citetitle">
 | ||
|       Correspondence
 | ||
|     </em>. </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"><a id="id-1.3.4.6.2.2.7.4"></a><p><span class="citetitle"><em class="citetitle">
 | ||
|       ISO/IEC 14882:1998 Programming languages - C++
 | ||
|     </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id-1.3.4.6.2.2.7.5"></a><p><span class="citetitle"><em class="citetitle">
 | ||
|       ISO/IEC 9899:1999 Programming languages - C
 | ||
|     </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id-1.3.4.6.2.2.7.6"></a><p><span class="title"><em>
 | ||
| 	<a class="link" href="http://pubs.opengroup.org/onlinepubs/9699919799/" target="_top">
 | ||
|       System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
 | ||
| 	</a>
 | ||
|       </em>. </span><span class="copyright">Copyright © 2008 
 | ||
| 	The Open Group/The Institute of Electrical and Electronics
 | ||
| 	Engineers, Inc.
 | ||
|       . </span></p></div><div class="biblioentry"><a id="id-1.3.4.6.2.2.7.7"></a><p><span class="citetitle"><em class="citetitle">
 | ||
|       The C++ Programming Language, Special Edition
 | ||
|     </em>. </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">
 | ||
| 	Addison Wesley
 | ||
|       . </span></span></p></div><div class="biblioentry"><a id="id-1.3.4.6.2.2.7.8"></a><p><span class="citetitle"><em class="citetitle">
 | ||
|       Standard C++ IOStreams and Locales
 | ||
|     </em>. </span><span class="subtitle">
 | ||
|       Advanced Programmer's Guide and Reference
 | ||
|     . </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">
 | ||
| 	Addison Wesley Longman
 | ||
|       . </span></span></p></div></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="strings.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="std_contents.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 7. 
 | ||
|   Strings
 | ||
|   
 | ||
|  </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Facets</td></tr></table></div></body></html> |