C++ Logo


Advanced search

Re: P2581R0: Specifying the Interoperability of Binary Module Interface Files

From: Daniel Ruoso <daniel_at_[hidden]>
Date: Fri, 6 May 2022 14:55:35 -0400
Em qui., 5 de mai. de 2022 às 13:08, Michael Spencer via SG15
<sg15_at_[hidden]> escreveu:
> I actually think we can come up with terminology that makes sense for both.

I think MSVC may actually have come up with the right name already in
the /internalPartition option.

The standard doesn't give a name for it but it says it "doesn't
contribute to the external interface". So we could just take it as the
opposite of "external" and call it "Internal Module Partition Unit".

So here it is revised once again:

1. "Importable Module Units": Any translation unit that needs to be
reachable (presumably through binary module interface files) for the
parsing of a different translation unit.

   1.1. "Primary Module Interface Unit": The translation unit with
"export module foo;".

   1.2. "Module Interface Partition Units": The translation units with
"export module foo:baz"

   1.3. "Internal Module Partition Units": The translation units
with "module foo:bar"

   1.4. "Header Units": Headers as seen when imported.

 2. "Non-importable Units": Translation units that do not influence
the parsing of other translation units.

    2.1. Module implementation units: Translation units with "module foo;"

    2.2. Non-modular translation units: Everything else


Received on 2022-05-06 18:55:47