Summary
It is quite nice to see modules support massively improved for cppwinrt; this was a silent effort that went quite unnoticed by the rest of the community! Thanks to all.
That being said, I am a little concerned at the module being split up into 'namespaces'. The general consensus by build system and compiler developers is that libraries should tend towards mega-modules, as the parsing and instantiation cost is paid once upfront. I must also point out that some of the purported benefits listed here don't quite exist in C++. There is very little (amortised) cost to having a giant module interface file (this is exactly how module std works, for instance).
I therefore propose a small addition that allows users to consume cppwinrt in one go with an interface file that export imports all the separated interfaces.
Summary
It is quite nice to see modules support massively improved for cppwinrt; this was a silent effort that went quite unnoticed by the rest of the community! Thanks to all.
That being said, I am a little concerned at the module being split up into 'namespaces'. The general consensus by build system and compiler developers is that libraries should tend towards mega-modules, as the parsing and instantiation cost is paid once upfront. I must also point out that some of the purported benefits listed here don't quite exist in C++. There is very little (amortised) cost to having a giant module interface file (this is exactly how
module stdworks, for instance).I therefore propose a small addition that allows users to consume cppwinrt in one go with an interface file that
export imports all the separated interfaces.