Here is a list of requirements for this book:
- Intermediate knowledge of C++.
- Any additional requirements are mentioned in the Technical requirements section of each chapter.
- Disclaimer: The C++20 standard has been approved (that is, technically finalized) by WG21 in a meeting in Prague at the end of February. This means that the GCC compiler version that this book uses, 8.3.0, does not include (or has very, very limited support for) the new and cool C++20 features. For this reason, the Docker image does not include the C++20 recipe code.
GCC keeps the development of the newest features in branches (you have to use appropriate flags for that, for example, -std=c++2a); therefore, you are encouraged to experiment with them by yourself. So, clone and explore the GCC contracts and module branches and have fun. - Some recipes (especially in Chapter 11, Scheduling) require the Docker image running with admin privileges to execute properly. Depending on your Docker configuration, you may be required to run the Docker with sudo. To avoid that you can create a Linux group (for example, docker) and add users to it.