diff options
author | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2000-09-15 22:50:11 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2000-09-15 22:50:11 +0000 |
commit | 04807c286441c25e0997b453f308ffee25e3524e (patch) | |
tree | a894220fc3cccbb8e9ce51dc41924ee1bb8b5472 | |
parent | 4c4b521a59ec0cafbd1b5be5b13c4ecd5d88a79b (diff) | |
download | gcc-04807c286441c25e0997b453f308ffee25e3524e.zip gcc-04807c286441c25e0997b453f308ffee25e3524e.tar.gz gcc-04807c286441c25e0997b453f308ffee25e3524e.tar.bz2 |
locale.cc (locale::locale(const char* __name)): Consolidate name setting.
2000-09-15 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* src/locale.cc (locale::locale(const char* __name)): Consolidate
name setting. Add checks for NULL __name pointers. Remove calls to
_S_initialize() as initial locale initialization can either be
assumed, or needs to be made consistent throughout locale
construtors.
(locale::locale(const locale& __other, const char* __name,
category __cat): Add checks for NULL name. Add checks for
assignment to self.
* src/localename.cc (locale::_Impl:: _Impl(const _Impl& __other,
const string& __name, category __cat, size_t __refs)): Set correct
name, has_name values.
* testsuite/22_locale/ctor_copy_dtor.cc (test01): More tests.
* docs/22_locale/locale.html: New file, more unfinished docs...
From-SVN: r36450
-rw-r--r-- | libstdc++-v3/docs/22_locale/locale.html | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/libstdc++-v3/docs/22_locale/locale.html b/libstdc++-v3/docs/22_locale/locale.html new file mode 100644 index 0000000..dc3510b --- /dev/null +++ b/libstdc++-v3/docs/22_locale/locale.html @@ -0,0 +1,103 @@ +<HTML> +<HEAD> + <H1> + Notes on the locale implementation. + </H1> +</HEAD> +<I> +prepared by Benjamin Kosnik (bkoz@redhat.com) on September 15, 2000 +</I> + +<P> +<H2> +1. Abstract +</H2> +<P> +</P> + +<P> +<H2> +2. What the standard says +</H2> + + +<P> +<H2> +3. Problems with "C" locales : global locales, termination. +</H2> + +<P> +For the required specialization codecvt<wchar_t, char, mbstate_t> , +conversions are made between the internal character set (always UCS4 +on GNU/Linux) and whatever the currently selected locale for the +LC_CTYPE category implements. + +<P> +<H2> +4. Design +</H2> +The two required specializations are implemented as follows: + + +<P> +<H2> +5. Examples +</H2> + +<pre> + typedef ctype<char> cctype; +</pre> + +More information can be found in the following testcases: +<UL> +<LI> testsuite/22_locale/ctype_char_members.cc +<LI> testsuite/22_locale/ctype_wchar_t_members.cc +</UL> + +<P> +<H2> +6. Unresolved Issues +</H2> + +<UL> + <LI> locale -a displays available locales on linux + + <LI> locale initialization: at what point does _S_classic, + _S_global get initialized? Can named locales assume this + initialization has already taken place? +</UL> + + +<P> +<H2> +7. Acknowledgments +</H2> + +<P> +<H2> +8. Bibliography / Referenced Documents +</H2> + +Drepper, Ulrich, GNU libc (glibc) 2.2 manual. In particular, Chapters "6. Character Set Handling" and "7 Locales and Internationalization" + +<P> +Drepper, Ulrich, Numerous, late-night email correspondence + +<P> +ISO/IEC 14882:1998 Programming languages - C++ + +<P> +ISO/IEC 9899:1999 Programming languages - C + +<P> +Langer, Angelika and Klaus Kreft, Standard C++ IOStreams and Locales, Advanced Programmer's Guide and Reference, Addison Wesley Longman, Inc. 2000 + +<P> +Stroustrup, Bjarne, Appendix D, The C++ Programming Language, Special Edition, Addison Wesley, Inc. 2000 + +<P> +System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x) +The Open Group/The Institute of Electrical and Electronics Engineers, Inc. +http://www.opennc.org/austin/docreg.html + + |