"The C++ Standard Library" provides a detailed overview of the C++ Standard Library, including C++23.
The Goal
The C++ Standard Library aims to provide you with a concise reference of the C++ standard library in about 350 pages. This book assumes that you are familiar with C++. If so, you will get the most benefit from this book. If C++ is new to you, you should start with a textbook about core C++. Once you have mastered a textbook about the core language, you can make your next big step by reading my book.
This book also has more than 100 running code examples for the code snippets I present. Therefore, you can combine theory with practice and get the most out of it.
Author(s): Rainer Grimm
Edition: 4
Publisher: Leanpub
Year: 2023
Language: English
Commentary: Book 100% complete. Last Update: 2023-03-11
Pages: 344
City: British Columbia, Canada
Table of Contents
Reader Testimonials
English Edition
German Edition
Introduction
Purpose of this Book
Index
Conventions
Source Examples
Source Code
Value versus Object
Acknowledgments
Further Information
Cippi
About Me
The Standard Library
The History
Overview
Use of Libraries
Utilities
Useful Functions
Adaptors for Functions
Pairs
Tuples
Reference Wrappers
Smart Pointers
Type Traits
Time Library
std::any, std::optional, and std::variant
std::expected
Interface of All Containers
Create and delete
Size
Access
Assign and Swap
Compare
Erasure
Sequence Containers
Arrays
Vectors
Deques
Lists
Forward Lists
Associative Containers
Overview
Ordered Associative Containers
Unordered Associative Containers
Container Adaptors
Linear Containers
Associative Containers
Views
Contiguous Access
Multidimensional Access
Iterators
Categories
Iterator Creation
Useful Functions
Adaptors
Callable Units
Functions
Function Objects
Lambda Functions
Algorithms
Conventions
Iterators are the Glue
Sequential, Parallel, or Parallel Execution with Vectorisation
for_each
Non-Modifying Algorithms
Modifying Algorithms
Partition
Sort
Binary Search
Merge Operations
Heaps
Min and Max
Permutations
Numeric
Unitialized Memory
Ranges
Range
View
Range Adaptors
Direct on the Containers
Function Composition
Lazy Evaluation
std Algorithms versus std::ranges Algorithms
Numeric
Random Numbers
Numeric Functions Inherited from C
Mathematical Constants
Strings
Create and Delete
Conversion Between C++ and C Strings
Size versus Capacity
Comparison
String Concatenation
Element Access
Input and Output
Search
Check for a substring
Modifying Operations
Numeric Conversions
String Views
Create and Initialise
Non-modifying operations
Modifying operations
Regular Expressions
Character Types
Regular Expression Objects
The Search Result match_results
Match
Search
Replace
Format
Repeated Search
Input and Output Streams
Hierarchy
Input and Output Functions
Streams
User-defined Data Types
Formatting Library
Formatting Functions
Syntax
Format specification
User-defined formatter
Filesystem
Classes
Non-member functions
File types
Multithreading
Memory Model
Atomic Data Types
Threads
Stop Token
Shared Variables
Thread Local Data
Condition Variables
Semaphores
Coordination Types
Tasks
Coroutines
Awaitables
An Infinite Data Stream with co_yield
Index