Apache C++ Standard Library User's Guide
Chapter 27: The Architecture of Iostreams
27.1 The Standard Iostreams
27.1.1 Type Safety
27.1.2 Extensibility to New Types
27.2 How the Standard Iostreams Work
27.2.1 The Iostream Layers
27.2.1.1 The Formatting Layer
27.2.1.2 The Transport Layer
27.2.1.3 Locales
27.2.2 File and In-Memory I/O
27.3 How the Standard Iostreams Help Solve Problems
27.4 The Internal Structure of the Iostreams Layers
27.4.1 The Internal Structure of the Formatting Layer
27.4.1.1 Iostreams Base Class ios_base
27.4.1.2 The Iostreams Character Type-Dependent Base Class
27.4.1.3 Character Traits
27.4.1.4 The Input and Output Streams
27.4.1.5 The File Streams
27.4.1.6 The String Streams
27.4.2 The Transport Layer's Internal Structure
27.4.2.1 The Stream Buffer
27.4.2.2 The File Buffer
27.4.2.3 The String Stream Buffer
27.4.3 Collaboration of Streams and Stream Buffers
27.4.4 Collaboration of Locales and Iostreams