| |
| |
Foreword | |
| |
| |
Preface | |
| |
| |
Guide for Readers | |
| |
| |
| |
Stream Input and Output | |
| |
| |
| |
IOStreams Basics | |
| |
| |
| |
Input and Output | |
| |
| |
| |
Formatted Input/Output | |
| |
| |
| |
The Predefined Global Streams | |
| |
| |
| |
The Input and Output Operators | |
| |
| |
| |
The Format Parameters of a Stream | |
| |
| |
| |
Manipulators | |
| |
| |
| |
The Locale of a Stream | |
| |
| |
| |
Comparison Between Formatted Input and Output | |
| |
| |
| |
Peculiarities of Formatted Input | |
| |
| |
| |
The Stream State | |
| |
| |
| |
The Stream State Flags | |
| |
| |
| |
Checking the Stream State | |
| |
| |
| |
Catching Stream Exceptions | |
| |
| |
| |
Resetting the Stream State | |
| |
| |
| |
File Input/Output | |
| |
| |
| |
Creating, Opening, Closing and Destroying File Streams | |
| |
| |
| |
The Open Modes | |
| |
| |
| |
Bidirectional File Streams | |
| |
| |
| |
In-Memory Input/Output | |
| |
| |
| |
Unformatted Input/Output | |
| |
| |
| |
Stream Positioning | |
| |
| |
| |
Synchronization of Streams | |
| |
| |
| |
Means of Synchronization | |
| |
| |
| |
Synchronizing the Predefined Standard Streams | |
| |
| |
| |
The Architecture of IOStreams | |
| |
| |
| |
The Stream Classes | |
| |
| |
| |
Class Hierarchy | |
| |
| |
| |
How Streams Maintain Their Stream Buffer | |
| |
| |
| |
Copying and Assignment of Streams | |
| |
| |
| |
How Streams Maintain Their Locale | |
| |
| |
| |
Collaboration Among Streams, Stream Buffers, and Locales | |
| |
| |
| |
The Stream Buffer Classes | |
| |
| |
| |
Class Hierarchy | |
| |
| |
| |
The Stream Buffer Abstraction | |
| |
| |
| |
String Stream Buffers | |
| |
| |
| |
File Stream Buffers | |
| |
| |
| |
Character Types and Character Traits | |
| |
| |
| |
Character Representations | |
| |
| |
| |
Character Traits | |
| |
| |
| |
Character Types | |
| |
| |
| |
Stream Iterators and Stream Buffer Iterators | |
| |
| |
| |
The Concepts of Iterators in the Standard Library | |
| |
| |
| |
Stream Iterators | |
| |
| |
| |
Stream Buffer Iterators | |
| |
| |
| |
Additional Stream Storage and Stream Callbacks | |
| |
| |
| |
Additional Stream Storage | |
| |
| |
| |
Stream Callbacks | |
| |
| |
| |
Advanced iostreams Usage | |
| |
| |
| |
Input and Output of User-Defined Types | |
| |
| |
| |
The Signature of Inserters and Extractors | |
| |
| |
| |
First Inserters and Extractors | |
| |
| |
| |
Refinements | |
| |
| |
| |
Refined Inserters and Extractors | |
| |
| |
| |
Generic Inserters and Extractors | |
| |
| |
| |
Simple Versus Refined Approach | |
| |
| |
| |
User-Defined Manipulators | |
| |
| |
| |
Manipulators Without Parameters | |
| |
| |
| |
Manipulators with Parameters | |
| |
| |
| |
Extending Stream Functionality | |
| |
| |
| |
Using Stream Storage for Private Use: iword, pword, and xalloc | |
| |
| |
| |
Creating New Stream Classes by Derivation | |
| |
| |
| |
Comparing Both Solutions--iword/pword versus Derivation | |
| |
| |
| |
Adding Stream Buffer Functionality | |
| |
| |
| |
Deriving from the Stream Buffer Base Class | |
| |
| |
| |
Deriving from Concrete Stream Buffer Classes | |
| |
| |
| |
Internationalization | |
| |
| |
| |
Introduction to Internationalization and Localization | |
| |
| |
| |
Internationalization and Localization | |
| |
| |
| |
Cultural Conventions | |
| |
| |
| |
Language | |
| |
| |
| |
Numerical Values | |
| |
| |
| |
Monetary Values | |
| |
| |
| |
Time and Date | |
| |
| |
| |
Sorting Words | |
| |
| |
| |
Messages | |
| |
| |
| |
Character Encodings | |
| |
| |
| |
Locales | |
| |
| |
| |
Creating Locale Objects | |
| |
| |
| |
Named Locales | |
| |
| |
| |
Combined Locales | |
| |
| |
| |
The Global Locale | |
| |
| |
| |
Retrieving Facets from a Locale | |
| |
| |
| |
has_facet | |
| |
| |
| |
use_facet | |
| |
| |
| |
Standard Facets | |
| |
| |
| |
Alphabet- and Language-Related Facets | |
| |
| |
| |
Character Classification | |
| |
| |
| |
String Collation | |
| |
| |
| |
Code Conversion | |
| |
| |
| |
Message Catalogs | |
| |
| |
| |
Formatting and Parsing Facets | |
| |
| |
| |
Numerical and Boolean Values | |
| |
| |
| |
Monetary Values | |
| |
| |
| |
Date and Time Values | |
| |
| |
| |
Grouping of Standard Facets in a Locale | |
| |
| |
| |
The Standard Facet Families | |
| |
| |
| |
Locale Categories | |
| |
| |
| |
Diagram: Facets and Categories | |
| |
| |
| |
Advanced Usage of the Standard Facets | |
| |
| |
| |
Indirect Use of a Facet Through a Stream | |
| |
| |
| |
Use of a Facet Through a Locale | |
| |
| |
| |
Direct Use of the Facet Independent of a Locale | |
| |
| |
| |
The Architecture of the Locale Framework | |
| |
| |
| |
Class Hierarchy | |
| |
| |
| |
Identification and Lookup of Facets in a Locale | |
| |
| |
| |
Facet Identification | |
| |
| |
| |
Facet Lookup | |
| |
| |
| |
Memory Management of Facets in a Locale | |
| |
| |
| |
The Facet Reference Counter | |
| |
| |
| |
Immutability of Facets in a Locale | |
| |
| |
| |
User-Defined Facets | |
| |
| |
| |
Adding a User-Defined Facet to an Existing Facet Family | |
| |
| |
| |
Defining a New Facet Family | |
| |
| |
Reference Guide | |
| |
| |
Introduction | |
| |
| |
| |
Locale | |
| |
| |
| |
Character Traits | |
| |
| |
| |
IOStreams | |
| |
| |
| |
Stream Iterators | |
| |
| |
| |
Other I/O Operations | |
| |
| |
Appendices | |
| |
| |
| |
Parsing and Extraction of Numerical and bool Values | |
| |
| |
| |
Parsing Numerical Values | |
| |
| |
| |
Parsing bool Values | |
| |
| |
| |
Conversion Specifier and Length Modifier | |
| |
| |
| |
Formatting of Numerical and bool Values | |
| |
| |
| |
Formatting Numerical Values | |
| |
| |
| |
Formatting bool Values | |
| |
| |
| |
Conversion Specifiers, Qualifiers, and Length Modifiers | |
| |
| |
| |
strftime () Conversion Specifiers | |
| |
| |
| |
Correspondences Between C Stdio and C++IOStreams | |
| |
| |
| |
File Open Modes | |
| |
| |
| |
Stream Positions | |
| |
| |
| |
Differences Between Classic and Standard IOStreams | |
| |
| |
| |
Templatizing the IOStreams Classes | |
| |
| |
| |
Splitting Base Class ios | |
| |
| |
| |
Indicating Errors | |
| |
| |
| |
Internationalizing IOStreams | |
| |
| |
| |
Removing _withassign Classes | |
| |
| |
| |
Removing File Descriptors | |
| |
| |
| |
String Streams: Replacing strstream by stringstream | |
| |
| |
| |
Changes to the Stream Buffer Classes | |
| |
| |
| |
Minor Changes | |
| |
| |
| |
The Relationship Between C and C++ Locales | |
| |
| |
| |
Locale Categories in C and C++ | |
| |
| |
| |
The Global Locale in C and C++ | |
| |
| |
| |
New C++ Features and Idioms | |
| |
| |
| |
Bitmask Types | |
| |
| |
| |
POD--Plain Old Data | |
| |
| |
| |
Explicit Constructors | |
| |
| |
| |
Template Specialization | |
| |
| |
| |
Default Template Arguments | |
| |
| |
| |
Explicit Template Argument Specification | |
| |
| |
| |
The Typename Keyword | |
| |
| |
| |
Dynamic Cast | |
| |
| |
| |
Function try Blocks | |
| |
| |
| |
Standard Exceptions | |
| |
| |
| |
Numeric Limits | |
| |
| |
| |
C++ Strings | |
| |
| |
Bibliography | |
| |
| |
Index | |