Log In
Log In

C++20 modules and Boost: an analysis

https://anarthal.github.io/cppblog/modules

Boost header‑only libraries are evaluated for conversion to C++20 modules. Toolchain support, an export‑using technique, and benchmarks indicate modest compile‑time gains. Modules remain early, giving limited production benefit but faster rebuilds.

Next Post

  • C++20 modules and Boost: follow up
    Link
    It is shown by benchmarks that C++20 modules cut Boost rebuild times by about 45%, but modularizing requires macro work, source changes, complex CMake support, handling of compiled libraries, and extra testing, leading to a community choice on adoption.
  • Hub is here
    Link #Bloom
    During Q2 2026 Boost work is summarized: boost::container::hub accepted for Boost 1.92; Boost.Unordered added C++20 range support; Boost.MultiIndex got iterator pointers; Boost.ICL fixed for libc++ v22; Boost.Bloom, Boost.Graph and activities noted.
  • MrDocs Bootstrap: One Script to Build Them All
    Link
    Complex C++ dependency management is explained with version conflicts, ABI issues, and platform toolchain differences. Limitations of package managers are described, and a bootstrap script is presented that automates builds, configuration, and IDE setup across platforms, supporting sanitizers.
  • Speed and Safety
    Link #Decimal
    CUDA support is added to Boost int128 for host and device use. Device from_chars/to_chars are provided by Boost.Charconv, and Boost.Decimal will gain CUDA later. Verification is used by Boost.Safe_Numbers for safety and error check with CUDA reporting.