Aimed at the advanced C++ programmer,
Standard C++ IOStreams and Locales explains the internals of how C++ streams work, along with support for internationalisation. This is a book for those who need to see the inner details of architecture and design of these important built-in C++ objects, as well as a reference to all relevant classes and methods.
This book examines the inner workings of the entire stream class library in today's Standard C++. It succeeds in two ways. First, the authors explain the design principles and inner workings on these stream classes, whether for simple console or file I/O, or for more advanced topics like memory streams. There is coverage of I/O basics (with coverage of manipulators, stream flags and other built-in features) for everyday programming with streams. But besides the fundamentals, the authors excel at delving into the nitty-gritty details of these classes (which most of us know only on the surface). Examples here include a custom date class that will cooperate with existing stream libraries and creating new "facets"--output rules that customise data for particular languages or "locales".
Besides an in-depth guide to what streams do by default and some hints for adding your own classes to work with them, this text also contains over 200 pages of reference material on every C++ stream and locale class, organised by header files. (These sections will arguably be the most useful for the working C++ developer.)
Like the support for template classes, the Standard Library's support for streams is powerful but, until now anyway, not easily available to ordinary programmers. For anyone who already knows the fundamentals of streams and is seeking to do more, this title can definitely fill a useful niche with an authoritative and densely packed source of technical detail on these built-in C++ classes. --Richard Dragan, amazon.com
Topics covered: Standard C++ predefined streams, input and output operators, manipulators, locale basics, formatted input, stream state flags, file streams, in-memory I/O, stream positioning, synchronising streams, stream class architecture, stream buffer classes, character types, wide character support, stream and stream buffer iterators, custom stream classes for user-defined types, inserters and extractors, user-defined manipulators, customizing stream and stream buffer classes, internationalisation and localisation, standard facets, user-defined facets, stream and locale class reference.
IOStreams and Locales are two of the most important, eagerly-awaited components of the ISO/ANSI C++ standard -- and this is the first book to cover them exclusively, and in great depth. The authors explain the problems that IOStreams and Locales solve; then present a wide range of examples and techniques, from simple to sophisticated. The authors introduce concepts, component architecture, standards-compliant code, and practical patterns of use. Coverage includes: key differences between standard IOStreams and the non-standard versions that preceded it; how to extend the Locales component for more effective internationalization; and more. The book also includes a complete, authoritative class reference. Experienced developers can use the book as a start-to-finish learning tool, or as a handy "just-in-time" reference for specific techniques.