click to
look inside
Look inside

Hands-on with C++ 20: Ranges, Coroutines, Concepts, and Modules you own this product

intermediate C++11
skills learned
modules • coroutines • concepts • ranges
Joe Justesen
4 weeks · 5-8 hours per week · INTERMEDIATE
filed under

placing your order...

Don't refresh or navigate away from the page.
liveProject liveProjects give you the opportunity to learn new skills by completing real-world challenges in your local development environment. Solve practical problems, write working code, and analyze real data—with liveProject, you learn by doing. These self-paced projects also come with full liveBook access to select books for 90 days plus permanent access to other select Manning products. $34.99 $49.99 you save $15 (30%)
Hands-on with C++ 20: Ranges, Coroutines, Concepts, and Modules (liveProject) added to cart
continue shopping
go to cart

Look inside

In this liveProject, you’ll explore the new features of C++20 by upgrading BOSS—the “Bread Optimized Shipping System” of a large national baker. The main logic of BOSS is written in C++, and your team prides itself on keeping it up to date with the latest C++ standards. Your job is to enhance BOSS using different parts of C++20.

You’ll move an existing codebase to the latest C++ features to enhance your team’s productivity, and make it possible to move faster in the future. Unlock new C++20 features such as modules to organize your code, coroutines to optimize the service response times and resource usage, ranges to support dealing with a range of elements in a collection, and concepts to manage template classes. By the time you’re done, you’ll have gotten your hands dirty with some of the most exciting new features of C++20.

This project is designed for learning purposes and is not a complete, production-ready application or solution.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

project author

Joe Justesen
Joe Justesen is a software developer at Perspecta Labs working on mission control software for the next-generation UAVs. He has been developing software since 1992 on the desktop and backend, primarily using C++ with some Python and JavaScript as needed. He is currently creating multi-threaded C++ software to emulate hardware that allows the development of mission optimization systems.


This liveProject is for confident C++ programmers who know C++11 and are interested in expanding their skills in the latest version of C++. To begin this liveProject, you will need to be familiar with the following:

  • Intermediate C++
  • The latest C++ compiler available for your platform
  • An IDE or text editor
  • Selection of the proper STL container
  • Use of STL Algorithms
  • Creating lambda functions for use in STL algorithms
  • Creating class templates
  • Creating function templates

you will learn

C++20 introduced many changes and exciting new features to the language. In this liveProject, you’ll put its four principle new features into practice.

  • Modules to organize large codebases
  • Coroutines to suspend functions that can be resumed later
  • Concepts that allow the creation of and the application of constraints to templated types
  • Ranges, which provide support for dealing with a range of elements in a collection


You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.