X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Fdoc%2Fxml%2Fmanual%2Fctype.xml;fp=libstdc%2B%2B-v3%2Fdoc%2Fxml%2Fmanual%2Fctype.xml;h=58f08fbdb6875796ed8a537c69881f271e516979;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=0000000000000000000000000000000000000000;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/libstdc++-v3/doc/xml/manual/ctype.xml b/libstdc++-v3/doc/xml/manual/ctype.xml new file mode 100644 index 00000000..58f08fbd --- /dev/null +++ b/libstdc++-v3/doc/xml/manual/ctype.xml @@ -0,0 +1,259 @@ + + + + + + + ISO C++ + + + ctype + + + + +ctype + + +Implementation + + + Specializations + + +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. + + + +The two required specializations are implemented as follows: + + + + +ctype<char> + + + +This is simple specialization. Implementing this was a piece of cake. + + + + +ctype<wchar_t> + + + +This specialization, by specifying all the template parameters, pretty +much ties the hands of implementors. As such, the implementation is +straightforward, involving mcsrtombs for the conversions between char +to wchar_t and wcsrtombs for conversions between wchar_t and char. + + + +Neither of these two required specializations deals with Unicode +characters. + + + + + + +Future + + + + + + How to deal with the global locale issue? + + + + + How to deal with different types than char, wchar_t? + + + Overlap between codecvt/ctype: narrow/widen + + + + + Mask typedef in codecvt_base, argument types in codecvt. what + is know about this type? + + + + + Why mask* argument in codecvt? + + + + + Can this be made (more) generic? is there a simple way to + straighten out the configure-time mess that is a by-product of + this class? + + + + + Get the ctype<wchar_t>::mask stuff under control. Need to + make some kind of static table, and not do lookup every time + somebody hits the do_is... functions. Too bad we can't just + redefine mask for ctype<wchar_t> + + + + + Rename abstract base class. See if just smash-overriding is a + better approach. Clarify, add sanity to naming. + + + + + + + + + + +Bibliography + + + + The GNU C Library + + + + McGrath + Roland + + + Drepper + Ulrich + + + + 2007 + FSF + + Chapters 6 Character Set Handling and 7 Locales and Internationalization + + + + + + Correspondence + + + + Drepper + Ulrich + + + + 2002 + + + + + + + ISO/IEC 14882:1998 Programming languages - C++ + + + + 1998 + ISO + + + + + + ISO/IEC 9899:1999 Programming languages - C + + + + 1999 + ISO + + + + + + System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x) + + + + 1999 + + The Open Group/The Institute of Electrical and Electronics Engineers, Inc. + + + + + + + + + + + + The C++ Programming Language, Special Edition + + + + Stroustrup + Bjarne + + + + 2000 + Addison Wesley, Inc. + + Appendix D + + + + Addison Wesley + + + + + + + + + Standard C++ IOStreams and Locales + + + Advanced Programmer's Guide and Reference + + + + Langer + Angelika + + + + Kreft + Klaus + + + + 2000 + Addison Wesley Longman, Inc. + + + + + Addison Wesley Longman + + + + + + + +