C++ Logo

sg15

Advanced search

Re: [SG15] [isocpp-ext] Direct question on Suffixes for module files

From: Gabriel Dos Reis <gdr_at_[hidden]>
Date: Mon, 13 Sep 2021 16:13:35 +0000
At the last face-to-face meeting, i.e. 2020 Prague meeting, SG15 made quite good progress on the TR - including a small list of suffixes the group recommends with tools implementers' input. We also voted quite a few other papers as part of the initial contents of the TR.

The TR also contains a few terminology to help reduce confusion among implementers and educators. I think with the dependency format paper by Kitware we agreed on last week, it is high time to issue a new update.

Michael - it sounds like EWG is aching for an update.

-- Gaby



________________________________
From: David Blaikie <dblaikie_at_[hidden]>
Sent: Monday, September 13, 2021 9:00:56 AM
To: Gabriel Dos Reis <gdr_at_[hidden]>
Cc: Evolution Working Group mailing list <ext_at_[hidden]>; Nico Josuttis <nico_at_[hidden]>
Subject: Re: [isocpp-ext] Direct question on Suffixes for module files

On Mon, Sep 13, 2021 at 3:54 AM Gabriel Dos Reis <gdr_at_[hidden]<mailto:gdr_at_[hidden]>> wrote:
Should that conversation be different from the one happening in SG15 and its Modules TR?

It should probably happen in the context of SG 15, yes. I'm not sure of a particular Modules TR, but seen papers and things touching at the edges/different facets - it's a lot of pieces that probably need to get sorted out before the specifics of a file extension might be arrived at. But yeah I agree, that's where the conversation is, somewhat, and should be happening.


-- Gaby

________________________________
From: David Blaikie <dblaikie_at_[hidden]<mailto:dblaikie_at_[hidden]>>
Sent: Monday, September 13, 2021 12:34:29 AM
To: Evolution Working Group mailing list <ext_at_[hidden]<mailto:ext_at_[hidden]>>
Cc: Gabriel Dos Reis <gdr_at_[hidden]<mailto:gdr_at_[hidden]>>; Nico Josuttis <nico_at_[hidden]<mailto:nico_at_[hidden]>>
Subject: Re: [isocpp-ext] Direct question on Suffixes for module files

On Sun, Sep 12, 2021 at 11:44 PM Nico Josuttis via Ext <ext_at_[hidden]<mailto:ext_at_[hidden]>> wrote:
Gaby,
one additional request here,

I tend to prefer to use .cppm as THE portable suffix and will use it for the moment in the book.

FWIW - as a Clang representative, I'd be happy to chat with other implementers (& start broader conversations) about ensuring that we all support at least one common extension for interface files. (I think Clang currently only supports cppm for this, to the best of my knowledge)

I though first, I have to use /interface then in front of each interface file, but the compiler says that this is wrong and the option applies once to all files.

Now I wonder :
Do I have to place the option once anywhere or once in front of interface files only or should I not use it to compile both interface and implementation files.

It seems at least :
cl /interface /Tpmod1.cppm /Tpmod2.cppm main.cpp
works, which surprises me a bit.

So, what should I document here for programmers of portable code?

Is there any plan to support .cppm by Visual Studio to handle it like .ixx?

Thanks and best
Nico


Am 12. September 2021 22:46:06 MESZ schrieb Nico Josuttis via Ext <ext_at_[hidden]<mailto:ext_at_[hidden]>>:
thanks a lot.
best
Nico


Am 12. September 2021 22:30:47 MESZ schrieb Gabriel Dos Reis <gdr_at_[hidden]<mailto:gdr_at_[hidden]>>:

[Nico]



> Hi Gaby,

>

> could you please tell me the standard extensions for module files with

> Visual C++?

> We all know:

> module interface unit: .ixx



In Visual C++ (using MSVC as toolset), the default file extension for a source file that purports to host an interface unit (primary interface or partition interface) is ".ixx" Everything else, by default, uses whatever extension (likely “.cpp” or “.cxx”) you used to use prior to C++20. If your interface unit file has an extension other than “.ixx”, then you need to add the compiler flag /interface.



  * I found:
  * module implementation unit: .mxx
  * May be you can confirm that.



That is not an interface unit file suffix understood by MSVC by default. If you use that, you just need to add /interface to your compiler command line.



  * And what suffix should I use for
  * - module interface partitions



If the source file is for a module partition interface, then use “.ixx”, otherwise use “.cpp” or “.cxx” or whatever you used to use prior to C++20.



The rule is simple: for any kind of module interface (primary or partition), use “.ixx”. Everything else is as before.



  * - module implementation partitions



Use “.cpp” or “.cxx” or whatever you used to use prior to C++20.



  *
  * BTW, what term should I use and document:
  * - module interface partition
  * - interface partition
  * - partition interface
  * - ...
  * ?



I use the following terms based on the standards:

  * Primary module interface: this is where you establish the interface of a module, either by re-exporting partition interfaces, or by explicitly exporting declarations, or both. This is the source file where you have a line like “export module dot.separated.words;” without any colon in the module name
  * Partition interface: this is where you declare a portion of the interface of a module (portion because of logical or architectural reasons); this partition interface needs to be re-exported from the primary module interface unit



The standards define only the notion of “module unit”, “interface unit”, “primary interface unit”, and “implementation unit”. See first three paragraphs of https://eel.is/c++draft/module.unit<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Feel.is%2Fc%2B%2Bdraft%2Fmodule.unit&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718108635%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=7WH%2FO7mF%2BToHIdlvUAXrBGCEetWmN9QQifWERNZRwiY%3D&reserved=0>.

I find those to be precise and excellent for language lawyering, but not much suitable for teaching of day-to-day programming.



The standard (post Modules TS) defines another kind of module partition: it is a module partition that does not have any interface at all, i.e. you will not find the ‘export’ keyword in it (if you used grep for example). Yet, it can be ‘import’ed. I call it internal partition because it can be used/accessed only from the boundaries of its module. From MSVC perspective, it is just an ordinary implementation source file, and therefore uses one of “.cpp” or “.cxx” or whatever extension you used to use before, except that MSVC needs to produce an IFC file for it. For that, you need to use the compiler flag /internalPartition. I am not current on the level of support of such module partitions in GCC or Clang so I don’t know yet if you need additional switches.



-- Gaby



-----Original Message-----
From: Nicolai Josuttis <nico_at_[hidden]<mailto:nico_at_[hidden]>>
Sent: Friday, September 10, 2021 2:54 AM
To: ext_at_[hidden]<mailto:ext_at_[hidden]>
Cc: Gabriel Dos Reis <gdr_at_[hidden]<mailto:gdr_at_[hidden]>>
Subject: Direct question on Suffixes for module files



Hi Gaby,



could you please tell me the standard extensions for module files with

Visual C++?

We all know:

module interface unit: .ixx



At https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.esrlabs.com%2Fjournal%2Fc%2B%2B20-modules%2F&amp;data=04%7C01%7Cgdr%40microsoft.com%7Cb33be8b2220e44ac307c08d97440e6e3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637668644379823403%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=sbnOWG%2BJ%2Bfvk4Y5Hj7kCf%2BL%2B3TlqSQf3S95pUvxtelw%3D&amp;reserved=0<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.esrlabs.com%2Fjournal%2Fc%2B%2B20-modules%2F&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718118632%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4gEMDkv0bO0wjP%2BZaRPZ6Rkz9OsdbWEK%2BhLSexNXK8w%3D&reserved=0>

I found:

module implementation unit: .mxx

May be you can confirm that.



And what suffix should I use for

- module interface partitions

- module implementation partitions



BTW, what term should I use and document:

- module interface partition

- interface partition

- partition interface

- ...

?



Thanks and best

  Nico





Am 08.09.2021 um 17:15 schrieb Gabriel Dos Reis via Ext:

> The same is true for MSVC - and I expect for Clang too.

>

> -- Gaby

>

> ------------------------------------------------------------------------

> *From:* Ext <ext-bounces_at_[hidden]<mailto:ext-bounces_at_[hidden]>> on behalf of Ben Boeckel via

> Ext <ext_at_[hidden]<mailto:ext_at_[hidden]>>

> *Sent:* Monday, September 6, 2021 10:28:14 AM

> *To:* David Blaikie via Ext <ext_at_[hidden]<mailto:ext_at_[hidden]>>

> *Cc:* Ben Boeckel <ben.boeckel_at_[hidden]<mailto:ben.boeckel_at_[hidden]>>

> *Subject:* Re: [isocpp-ext] Suffixes for module files

>

> On Mon, Sep 06, 2021 at 09:23:42 -0700, David Blaikie via Ext wrote:

>> For what it's worth, I /think/ Clang at least (& sounds like maybe MSVC,

>> probably GCC) only creates a BMI from the primary interface unit - the

>> implementation units are, I think, similar to any user of the module, as

>> far as the build system/compiler interface are concerned (ie: they consume

>> the primary interface BMI, and the source file, and whatever other BMIs

>> they import, and produce an object file - granted in that translation they

>> get different name lookup/access to the module's private details, but from

>> a "which files/command line you use to invoke the compiler" I don't think

>> they're any different from any other unit that imports a module)

>

> Note that, AFAIK in GCC, BMIs are also created from module partitions

> since they have importable bits and `import module:part;` still looks

> for a BMI.

>

> --Ben

> _______________________________________________

> Ext mailing list

> Ext_at_[hidden]<mailto:Ext_at_[hidden]>

> Subscription:

> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&amp;data=04%7C01%7Cgdr%40microsoft.com%7Cb33be8b2220e44ac307c08d97440e6e3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637668644379823403%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=RQuK5zna951mDAhqHoi5%2B4U3%2F3X9ffnWakrhNuYkD1A%3D&amp;reserved=0<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718128624%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=THR%2BibxtRvagErNxOzcwalkUhfXeggX2PB0jp%2FegL%2Fk%3D&reserved=0>

> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&amp;data=04%7C01%7Cgdr%40microsoft.com%7Cb33be8b2220e44ac307c08d97440e6e3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637668644379823403%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=RQuK5zna951mDAhqHoi5%2B4U3%2F3X9ffnWakrhNuYkD1A%3D&amp;reserved=0<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718128624%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=THR%2BibxtRvagErNxOzcwalkUhfXeggX2PB0jp%2FegL%2Fk%3D&reserved=0>>

> Link to this post:

> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2021%2F09%2F17480.php&amp;data=04%7C01%7Cgdr%40microsoft.com%7Cb33be8b2220e44ac307c08d97440e6e3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637668644379823403%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=6RoL%2BKGB8n73RlZ7V2UaK2y%2BsjKoLvkGMUqO1ATFiL8%3D&amp;reserved=0<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2021%2F09%2F17480.php&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718138614%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=eGmobdXeM%2Br%2F12TZgM14qXOgDc5MN8vK6e3ySoO42QQ%3D&reserved=0>

> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2021%2F09%2F17480.php&amp;data=04%7C01%7Cgdr%40microsoft.com%7Cb33be8b2220e44ac307c08d97440e6e3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637668644379823403%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=6RoL%2BKGB8n73RlZ7V2UaK2y%2BsjKoLvkGMUqO1ATFiL8%3D&amp;reserved=0<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2021%2F09%2F17480.php&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718138614%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=eGmobdXeM%2Br%2F12TZgM14qXOgDc5MN8vK6e3ySoO42QQ%3D&reserved=0>>

>

> _______________________________________________

> Ext mailing list

> Ext_at_[hidden]<mailto:Ext_at_[hidden]>

> Subscription: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&amp;data=04%7C01%7Cgdr%40microsoft.com%7Cb33be8b2220e44ac307c08d97440e6e3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637668644379823403%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=RQuK5zna951mDAhqHoi5%2B4U3%2F3X9ffnWakrhNuYkD1A%3D&amp;reserved=0<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718148611%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cyuoikhl1ewBI5BHOO5SkhiFSKi%2BGdKVmBfcb52YqOA%3D&reserved=0>

> Link to this post: https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2021%2F09%2F17533.php&amp;data=04%7C01%7Cgdr%40microsoft.com%7Cb33be8b2220e44ac307c08d97440e6e3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637668644379823403%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=w%2F56LHpPoM8NTIPRN%2BX1F6ZnQ7dY8uT%2F%2B2LdYXXqgnk%3D&amp;reserved=0<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2021%2F09%2F17533.php&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718148611%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=0cGUfKne%2BOYskvsfd8mq6quHDgKe6I5RgL9FVX%2B1az0%3D&reserved=0>

>



--
Nicolai M. Josuttis
https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.josuttis.de%2F&amp;data=04%7C01%7Cgdr%40microsoft.com%7Cb33be8b2220e44ac307c08d97440e6e3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637668644379823403%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=y8qU2a46gWfqSOIIWSw2E5HHjiomMliuuufgRNO9vIw%3D&amp;reserved=0<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.josuttis.de%2F&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718158606%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=%2FKTfSYeNcetz1tdeVeNHEPJh0Kcy34J33OgBhVK%2BR5s%3D&reserved=0>
+49 (0)531 / 129 88 86
+49 (0)700 / JOSUTTIS
Books:
C++: https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppstdlib.com%2F&amp;data=04%7C01%7Cgdr%40microsoft.com%7Cb33be8b2220e44ac307c08d97440e6e3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637668644379823403%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=jxiDUMrdiiYG6zjBRaQL1LOpZ0wtRf8XOCSfTH0A4bY%3D&amp;reserved=0<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppstdlib.com%2F&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718158606%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=tKDdCvnTppFYWjyVbjwe%2F%2BwhOssJ7M%2BJLjmhy7Q69x0%3D&reserved=0>, https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppstd17.com%2F&amp;data=04%7C01%7Cgdr%40microsoft.com%7Cb33be8b2220e44ac307c08d97440e6e3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637668644379823403%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=OxbE82bLA8FUBwy%2FES7nMgIgO1uvO9auyfQXWef6clQ%3D&amp;reserved=0<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppstd17.com%2F&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718168599%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=iyA9dS4ipQWKCeCZjAKT0rcpmUNtKyNnBB7LTKsoVjU%3D&reserved=0>,
      https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftmplbook.com%2F&amp;data=04%7C01%7Cgdr%40microsoft.com%7Cb33be8b2220e44ac307c08d97440e6e3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637668644379823403%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=0%2BbVJySVz11nxMu5BL0Hk1b1oPrihliWSrJVMQWXd9w%3D&amp;reserved=0<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftmplbook.com%2F&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718178594%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ntqBDFucaz0731QiMxEyyk1Du0H%2BULgZ4IO9EgtYNjk%3D&reserved=0>, https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppmove.com%2F&amp;data=04%7C01%7Cgdr%40microsoft.com%7Cb33be8b2220e44ac307c08d97440e6e3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637668644379823403%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=bkYNc6ZNx87BsZHP7pRTfHYKNGI8oA28v7CSFGupWqc%3D&amp;reserved=0<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppmove.com%2F&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718178594%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4mSp25dZzCFztSRCeIzrP4e9vhQhdOfkSYdn9QJquxc%3D&reserved=0>
SOA: https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fsoa-in-practice.com%2F&amp;data=04%7C01%7Cgdr%40microsoft.com%7Cb33be8b2220e44ac307c08d97440e6e3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637668644379833400%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=3kHbEUL9BrNyKRQJYR0VYConWfy%2BSOumnoufJ6fg%2FJY%3D&amp;reserved=0<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fsoa-in-practice.com%2F&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718188588%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=DRa12oaxwwSegCUawn7KCJl7r7URqiEZ2VDx4dQaL4A%3D&reserved=0>
--
Nico Josuttis
(sent from my mobile phone)
--
Nico Josuttis
(sent from my mobile phone)
_______________________________________________
Ext mailing list
Ext_at_[hidden]<mailto:Ext_at_[hidden]>
Subscription: https://lists.isocpp.org/mailman/listinfo.cgi/ext<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718188588%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=INt0xjfV1WTT77wqbmYz67ivT67HIdbYIkWJkmT%2FJAA%3D&reserved=0>
Link to this post: http://lists.isocpp.org/ext/2021/09/17543.php<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2021%2F09%2F17543.php&data=04%7C01%7Cgdr%40microsoft.com%7C7f5331c1b87749d9a5a108d976cfb2e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637671456718198583%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=QF%2FXXzatYwcj8d77ERUk4L582fdF8f9nvXK922gFaH4%3D&reserved=0>

Received on 2021-09-13 11:16:10