Knockin' on Header's Door: An Overview of C++ Modules
summary
C++20 modules are now usable but messy: named modules, header units, global fragments and module partitions compile on GCC 15, Clang and MSVC in the tested Fedora toolchain, but private module fragments fail on GCC and header units are flaky on Clang. Importing the standard library via import std works across compilers and gives the biggest compile-time win; built module interfaces (BMIs) speed builds but BMIs are non-portable between compilers and require CMake 3.28/Ninja or custom dependency-manager work to build and ship.
AI-written summary · about
chapters (14)
- 0:00C++ modules state
- 7:46Header file problems
- 13:17C++ modules overview
- 17:28Module unit types
- 20:58Header units limits
- 23:01Standard library modules
- 28:55Compile time comparison
- 33:07Compiler support
- 39:45Build system needs
- 44:34Dependency management
- 47:49Adopting modules
- 50:14Future of modules
- 54:43Should you use modules?
- 55:08Q&A
related talks
01h 00mSo, you want to use C++ Modules ... cross-platform?
34mPractical C++20 Modules and the future of tooling around C++ Modules
01h 28m2024 Update: C++ Modules - C++ Developers Get Started Today!
36mC++ Modules: Year 2021
01h 11mA Practical Introduction to C++20's Modules
01h 01mPractical C++ Modules
01h 10m“C++ Modules: The State of The Union"
01h 07mBuilding C++ Modules
