Log In
Log In

C++20 modules and Boost: a prototype

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

A prototype enabling Boost libraries to be used as C++20 modules is presented. A BOOST_USE_MODULES macro toggles between includes and imports via compatibility headers. CMake support, compiled module interfaces and CI tests are described, showing up to 3× build‑time speedup. Current CMake import‑std and MSVC bugs delay integration; further work will resume after fixes.

Next Post

  • Robert's Q1 2025 Update
    Link
    Refreshes to documentation styling, an enhanced release report highlighting contributors and community activity, and sponsorship of the June 2025 WG21 standards meeting in Sofia, with promotional t‑shirts, are reported.
  • 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.