With the current C++23 standard, C++ has many libraries to offer. My book's key idea is to give you concise the necessary information for all C++ standard libraries.
"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.
C++23 improved the big four of C++20: extended ranges functionality, the coroutine generator std::generator, and a modularized C++ standard library.
The Standard Template Library (STL) consists of three components from a bird’s-eye view. Those are containers, algorithms that run on the containers, and iterators that connect both of them. The containers have only minimal requirements for their elements. This abstraction of generic programming enables you to combine algorithms and containers uniquely. The C++ Standard Library has a rich collection of containers. We have sequence and associative containers. Associative containers can be classified as ordered or unordered associative containers
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
1 Reader Testimonials
1 English Edition
2 German Edition
3 Introduction
1 Purpose of this Book
2 Index
3 Conventions
4 Source Examples
5 Source Code
6 Value versus Object
7 Acknowledgments
8 Further Information
9 Cippi
10 About Me
11 1. The Standard Library
1 The History
2 Overview
3 Use of Libraries
4 2. Utilities
1 Useful Functions
2 Adaptors for Functions
3 Pairs
4 Tuples
5 Reference Wrappers
6 Smart Pointers
7 Type Traits
8 Time Library
9 std::any , std::optional , and std::variant 10 std::expected 11 3. Interface of All Containers
1 Create and delete
2 Size
3 Access
4 Assign and Swap
5 Compare
6 Erasure
7 4. Sequence Containers
1 Arrays
2 Vectors
3 Deques
4 Lists
5 Forward Lists
6 5. Associative Containers
1 Overview
2 Ordered Associative Containers
3 Unordered Associative Containers
4 6. Container Adaptors
1 Linear Containers
2 Associative Containers
3 7. Views
1 Contiguous Access
2 Multidimensional Access
3 8. Iterators
1 Categories
2 Iterator Creation
3 Useful Functions
4 Adaptors
5 9. Callable Units
Lambda Functions
4 10. Algorithms
1 Conventions
2 Iterators are the Glue
3 Sequential, Parallel, or Parallel Execution with Vectorisation
4 for_each
5 Non-Modifying Algorithms
6 Modifying Algorithms
7 Partition
8 Sort
9 Binary Search
10 Merge Operations
11 Heaps
12 Min and Max
13 Permutations
14 Numeric
15 Unitialized Memory
16 11. Ranges
1 Range
2 View
3 Range Adaptors
4 Direct on the Containers
5 Function Composition
6 Lazy Evaluation
7 std Algorithms versus std::ranges Algorithms
8 12. Numeric
1 Random Numbers
2 Numeric Functions Inherited from C
3 Mathematical Constants
4 13. Strings
1 Create and Delete
2 Conversion Between C++ and C Strings
3 Size versus Capacity
4 Comparison
5 String Concatenation
6 Element Access
7 Input and Output
8 Search
9 Check for a substring
10 Modifying Operations
11 Numeric Conversions
12 14. String Views
1 Create and Initialise
2 Non-modifying operations
3 Modifying operations
4 15. Regular Expressions
1 Character Types
2 Regular Expression Objects
3 The Search Result match_results
4 Match
5 Search
Format specification
4 User-defined formatter
5 18. Filesystem
1 Classes
2 Non-member functions
3 File types
4 19. Multithreading
1 Memory Model
2 Atomic Data Types
3 Threads
4 Stop Token
5 Shared Variables
6 Thread Local Data
7 Condition Variables
8 Semaphores
9 Coordination Types
10 Tasks
11 20. Coroutines
1 Awaitables
2 An Infinite Data Stream with co_yield
6 Replace
7 Format
8 Repeated Search
9 16. Input and Output Streams
1 Hierarchy
2 Input and Output Functions
3 Streams
4 User-defined Data Types
5 17. Formatting Library
1 Formatting Functions
2 Syntax