Boost logo

Boost :

From: John Maddock (jz.maddock_at_[hidden])
Date: 2022-05-13 17:19:16


> If they ever are.
>
> Modules can work for leaf libraries, but for libraries used as dependencies
> by other libraries, you'll encounter a situation where the same translation
> unit imports boost.lib or "boost/lib.hpp" in one place and then includes
> "boost/lib/something.hpp" in another, which is probably never going to
> work correctly.
>
> I suppose it might stand a chance if all the imports are done first, so that
> the include guard macros are defined. But I think that's not going to work
> in practice either.
>
> Basically, all Regex consumers also must respect the REGEX_AS_MODULE
> macro and switch to `import boost.regex`. Repeat per every library.

Modules don't expose macros, so there is no way to signal "this must be
used as a module", so you have to find every usage of library X and make
sure they are either all modules or all includes.  Or at least that
anything included doesn't use import: the other way around is fine since
the include is hidden within the module.

John.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk