Date: Mon, 18 Apr 2022 10:59:12 -0700
It feels to me that this discussion has moved away from the areas relevant
for WG21, and is squarely in the area of implementations, specifically of
one implementation.
If the discussion stays in the areas of whether a feature is missing from
an implementation or whether there is a bug, my recommendation is that this
thread be moved to a more appropriate forum where the implementers and the
user(s) can discuss requirements and implementation specific behavior.
I suggest visualcpp_at_[hidden] as a suitable forum, perhaps with other
implementers included if they’d prefer to be looped in.
— Michael
(now a C++ Program Manager at Microsoft)
On Mon, Apr 18, 2022 at 8:48 AM Nico Josuttis via Ext <ext_at_[hidden]>
wrote:
>
>
> Thanks Gaby,
>
> Am 18. April 2022 15:54:31 MESZ schrieb Gabriel Dos Reis <
> gdr_at_[hidden]>:
> >[Nico]
> >
> >
> > * a) To support generic rules in built systems, programmers have to
> use a special suffix for them
> >
> >Nope. They let the build systems to their jobs for them. That is, by
> far, the scalable solution over the long term.
>
> So you place unnecessary burden on all tools calling cl.
>
> > * b) Or ALL tools, for which it matters whether a unit is an internal
> partition, have to parse the contents of C++ source files
> >My understanding is that build2 doesn’t use the scan approach and does
> not require a specific suffix.
> >
>
> Which proves what?
>
> > * So, why do you provide a specific suffix to help to avoid /interface
> >
> >That is a default behavior, not a required behavior. You can supply
> /interface on a file with “.ixx” suffix.
> >
>
> Yes, but unfortunately, that suffix is not support by other compilers.
> Although gcc can deal with it without a specific option for any module
> unit.
> It would be great if Visual C++ would just provide the same flexibility.
>
> > * while not providing a specific suffix to help to avoid
> /internalPartition ?
> >
> >Why do you need one internal partitions? Just to avoid supplying a
> compiler flag?
> >
>
> In don't understand this question.
> For any internal partition, Visual C++ needs a specific compiler option.
> This is independent from how many files of them I have.
> So, not having a specific suffix requires all tools that call cl to
> inspect file content (as you pointed out yourself). What else should these
> tools do?
>
> > * the community is eagerly waiting for a fix of Visual C++
> >
> >You keep claiming to speak for “the community” wanting a fix when you
> haven’t demonstrated a bug or a problem. Your claiming “I want a fix” by
> itself does not is not a demonstration that there is actual problem. If
> the problem is to build a module file, I recommend you use a build system:
> on the long run that is a more scalable solution.
>
> Yes, I am part of this community.
> I don't claim that everybody waits for that. But it would be of tremendous
> help for a lot of programmers. Especially those who want to start with
> modules.
>
> And yes, I categorize it a bug if I cannot use it in practice.
>
> I am a bit surprised that you do not WANT to support OTHER ways to deal
> with modules than using a build system.
> This might be good marketing for build systems but is counter productive
> for the acceptance of modules.
>
> > * THEN we can see whether 2 new suffixes are necessary in practice
> and discuss them...
> >
> >You should also exercise the fervor in pushing other compilers to support
> “.ixx” if you’re interested in unbiased result of that experiment.
> >
>
> Oh, I definitely did in the past. I did start this way to get the problem
> solved. Remember me first asking for the standard suffixes.
> It seems I was not more successful than you trying it for 5 years... 😉
> Beside that we have a better suffix proposed by clang and a third suffix
> is missing (as long as Vusual C++ requires special options).
>
> Mabe it is time to respect the status quo and make the best out of it.
>
> There is a lot you could just solve here to bring modules to life.
> It even does not disable your approach of dealing with modules.
> Therefore, I really don't understand why you or Microsoft play the "do it
> my way or forget it" game instead of bringing C++ modules forward.
>
> Which problem do you get, if you allow any suffix, one command line, and
> find out the type of the module unit yourself?
>
> You act like this would be a major problem.
> If I would know what your problem is, I could at least explain that to my
> programmers.
>
> Thanks
> Nico
>
> >
> >-- Gaby
> >
> >From: Nicolai Josuttis <nico_at_[hidden]>
> >Sent: Monday, April 18, 2022 12:52 AM
> >To: Gabriel Dos Reis <gdr_at_[hidden]>; ext_at_[hidden]; WG21
> Tooling Study Group SG15 <sg15_at_[hidden]>
> >Subject: Re: [isocpp-ext] [SG15] Can we expect that all C++ source files
> can have the same suffix?
> >
> >
> >Thanks Gaby,
> >
> >I am confused by this statement:
> >The suffix isn’t to make the compiler’s job easier; it is to support
> other tools that don’t read the content of C++ source files in order to
> determine whether it defines an interface or something else.
> >
> >You only use it to argue in favor of a specific suffix for interface
> files.
> >But it seems for the same reason you need a specific suffix to determine
> whether a C++ source file is an internal partition.
> >Otherwise as you correctly points out tools have to read the contents.
> >
> >IIUC, currently Visual C++ requires a specific command-line options
> (which is not allowed to be used otherwise).
> >So, the current policy forces one of two consequences:
> >
> >a) To support generic rules in built systems, programmers have to use a
> special suffix for them
> >
> >b) Or ALL tools, for which it matters whether a unit is an internal
> partition, have to parse the contents of C++ source files
> >
> >So, why do you provide a specific suffix to help to avoid /interface,
> while not providing a specific suffix to help to avoid /internalPartition ?
> >
> >However, the obvious question is whether we can agree on yet another
> suffix (although we cannot agree on .ixx yet)?
> >
> >For me the consequence is obvious:
> >While my script (clmod.py at http://github.com/josuttis/cppmodules<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgithub.com%2Fjosuttis%2Fcppmodules&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049594273%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=N6QUc%2Fe%2Fw3GPyickfolNEdsQyDBcn9IFZgBTKb3Ptco%3D&reserved=0>)
> can be used as a workaround,
> >the community is eagerly waiting for a fix of Visual C++ so that it
> allows any suffix (and command-lines with all units of a program passed at
> once).
> >Anything else is currently a show stopper for bringing modules to life
> >(which is sad, because what I hear from feedback of my trainings is that
> programmers are eagerly waiting to try out modules).
> >
> >THEN we can see whether 2 new suffixes are necessary in practice and
> discuss them...
> >
> >Thanks
> >
> > Nico
> >
> >
> >Am 17.04.2022 um 03:25 schrieb Gabriel Dos Reis:
> >[Nico]
> >
> > 1. still I don't know the suffix for internal partitions
> >
> >I answered this (multiple times) a few months back when you asked me to
> review part of the chapter of your book. For internal partitions, use
> whatever suffix (e.g. .C, .cxx, .cpp, .cc) you use for your normal C++
> source file. MSVC does not recommend nor use a distinct suffix for
> internal partitions; they aren’t interface source files. The “.ixx” suffix
> is for module interface files (primary or partitions). The suffix isn’t to
> make the compiler’s job easier; it is to support other tools that don’t
> read the content of C++ source files in order to determine whether it
> defines an interface or something else.
> >
> >-- Gaby
> >
> >From: Ext <ext-bounces_at_[hidden]><mailto:
> ext-bounces_at_[hidden]> On Behalf Of Nico Josuttis via Ext
> >Sent: Saturday, April 16, 2022 3:54 AM
> >To: ext_at_[hidden]<mailto:ext_at_[hidden]>; Roger Orr via Ext
> <ext_at_[hidden]><mailto:ext_at_[hidden]>
> >Cc: Nico Josuttis <nico_at_[hidden]><mailto:nico_at_[hidden]>
> >Subject: Re: [isocpp-ext] [SG15] Can we expect that all C++ source files
> can have the same suffix?
> >
> >Hi Roger,
> >I agree.
> >However, cmake and other tools use the command line. So, they would have
> these problems solved.
> >
> >Even for Visual Studio, if there is support for arbitrary file extensions
> and no need for specific command line options, code coming from different
> compiler can just be used as it is.
> >So, programmers could have all files with suffix .cpp (as is fine for
> gcc) and just add them to the Visual Studio project without further action.
> >
> >While of course VC++ still can reommend special suffixes like .ixx (still
> I don't know the suffix for internal partitions), the other compilers would
> not have to adopt their convention and the community will decide which
> suffix "wins" (as it happened with ".cpp" which came from a Microsoft,
> although strangly it is not used by them in a modified form for modules).
> >
> >I will today publish a script that fix the problems Visual Studio has
> with module files for the command line. That way, programmers can write
> their first portable module programm... (portable in the practical not
> formal sense, Gaby).
> >
> >As usual, correct me if I miss something.
> >
> >
> >Am 16. April 2022 12:10:03 MESZ schrieb Roger Orr via Ext <
> ext_at_[hidden]<mailto:ext_at_[hidden]>>:
> >
> >Hello Nico,
> >
> >I am slightly puzzled by the use of 'command line' and 'command' in your
> email.
> >
> >
> >
> >In my own experience I suspect few of the C++ programmers I work with
> ever compile with a command line; they either work within an IDE or run a
> build script, likely using cmake. It us unclear to me what is the benefit
> of seeking a unified command line that most programmers are not even aware
> of.
> >
> >
> >
> >Regards,
> >
> >Roger.
> >
> >
> >
> >
> >
> >
> >
> >-----Original Message-----
> >
> >From: Ext [mailto:ext-bounces_at_[hidden]] On Behalf Of Nico
> Josuttis via Ext
> >
> >Sent: 16 April 2022 07:43
> >
> >To: Gabriel Dos Reis; ext_at_[hidden]<mailto:ext_at_[hidden]>;
> sg15_at_[hidden]<mailto:sg15_at_[hidden]>
> >
> >Cc: Nico Josuttis; Nathan Sidwell
> >
> >Subject: Re: [isocpp-ext] [SG15] Can we expect that all C++ source files
> can have the same suffix?
> >
> >
> >
> >
> >
> >Gaby,
> >
> >
> >
> >you want me to tell programmers that we have portable examples, for which
> unfortunately there is not defined HOW to deal with them?
> >
> >And selling this as "you can use modules in practice"? 🤔
> >
> >
> >
> >Of course for programmers a portable program implies that
> >
> >a) I don't have to rename files
> >
> >b) I don't have to use different conmand-line options for files having
> the same suffix
> >
> >c) I can compile all code with a single command
> >
> >
> >
> >Once we have that, we can teach content and programmers will use it. So
> far, the clear conclusion is that you cannot use modules in practice.
> >
> >
> >
> >It would be absolutely no problem to provide that for Visual C++. Ideally
> ignoring file extensions and analyze C++ file content.
> >
> >Therefore, I wonder why you do not WANT that (and at the same time tell
> that you are interesting that modules become widely used).
> >
> >
> >
> >And, BTW, I am desperately looking for the file extension Visual C++
> expect for internal patition units
> >
> >(to skip /internalPartition).
> >
> >PLEASE just tell us.
> >
> >
> >
> >Thanks
> >
> >
> >
> >
> >
> >
> >
> >Am 15. April 2022 21:46:13 MESZ schrieb Gabriel Dos Reis <
> gdr_at_[hidden]<mailto:gdr_at_[hidden]>>:
> >
> >Fortunately, there IS a portable C++ example of “hello world” program,
> >
> >today.
> >
> >
> >
> >*How* to compile a given source file has always depended on compilers,
> >
> >their environment of invocations, and supporting toolsets. That won’t
> >
> >change. And Modules don’t have a goal of changing that.
> >
> >
> >
> >Requiring that the set of satellite files that a compiler has to produce
> depends solely on the contents of the source file, and not on the
> invocation command lines, isn’t going to work in real world, production
> environments. That is what build systems are for, to abstract over the
> details. My hope is that professional teaching of programming with
> modules direct C++ programmers to relying on their build systems.
> >
> >
> >
> >We are having a conversation in SG15 about common ways of describing to
> >
> >build systems what are the needs of a program and library, and let the
> >
> >build system make the build happens. And that is not restricted to
> >
> >modules, even though they make the conversation urgent.
> >
> >
> >
> >-- Gaby
> >
> >
> >
> >From: Nico Josuttis <nico_at_[hidden]<mailto:nico_at_[hidden]>>
> >
> >Sent: Friday, April 15, 2022 12:05 PM
> >
> >To: ext_at_[hidden]<mailto:ext_at_[hidden]>; Gabriel Dos Reis
> via Ext
> >
> ><ext_at_[hidden]<mailto:ext_at_[hidden]>>; ext_at_[hidden]
> <mailto:ext_at_[hidden]>; sg15_at_[hidden]<mailto:
> sg15_at_[hidden]>
> >
> >Cc: Gabriel Dos Reis <gdr_at_[hidden]<mailto:gdr_at_[hidden]>>;
> Nathan Sidwell <nathan_at_[hidden]<mailto:nathan_at_[hidden]>>
> >
> >Subject: Re: [isocpp-ext] [SG15] Can we expect that all C++ source files
> can have the same suffix?
> >
> >
> >
> >haha,
> >
> >I REALLY would like to have the first portable "hello module" example.
> >
> >
> >
> >Currently, there is simply no way to have it. That's really a shame.
> >
> >
> >
> >
> >
> >Am 15. April 2022 20:46:59 MESZ schrieb Gabriel Dos Reis via Ext
> >
> ><ext_at_[hidden]<mailto:ext_at_[hidden]<mailto:
> ext_at_[hidden]%3cmailto:ext_at_[hidden]>>>:
> >
> >
> >
> >Nathan - you recount is all correct.
> >
> >
> >
> >I know I've mentioned it more than once, but I find it unsettling,
> >
> >given there was great opposition to there being a (two way?) mapping
> >
> >between file names and module names, that there is a move in the
> >
> >direction of making file names 'significant'. ISTM that the desire for
> >
> >bob.$REGULARSUFFIX and alice.$MODULESUFFIX is taking us all the way
> >
> >back to the first objection above about having two languages.
> >
> >
> >
> >I am not seeing any movement to make filename suffixes significant in
> >
> >the linguistic interpretation, by the compiler, of the content of
> >
> >source file. Maybe I am not looking right; but I would definitely
> >
> >recommend against such move. There are extra linguistic considerations
> >
> >that might force a toolset (not just a compiler) to require certain
> >
> >suffixes, but those suffixes do not determine the meaning a C++ program
> >
> >-- this is not different from compilers like GCC or MSVC refusing to
> >
> >compile in default mode files ending with ".h" or similar because they
> >
> >generally have other connotations.
> >
> >
> >
> >For some reasons, the topic of the "right" suffix seems to generate
> >
> >more passion than the topic of what can we do with modules, so maybe we
> >
> >are already doing a lot with modules 😝
> >
> >
> >
> >-- Gaby
> >
> >
> >
> >-----Original Message-----
> >
> >From: Ext
> >
> ><ext-bounces_at_[hidden]<mailto:ext-bounces_at_[hidden]<mailto:
> ext-bounces_at_[hidden]%3cmailto:ext-bounces_at_[hidden]>>> On
> Behalf Of Nathan Sidwell via Ext
> >
> >Sent: Friday, April 15, 2022 11:21 AM
> >
> >To: sg15_at_[hidden]<mailto:sg15_at_[hidden]<mailto:
> sg15_at_[hidden]%3cmailto:sg15_at_[hidden]>>;
> ext_at_[hidden]<mailto:ext_at_[hidden]<mailto:
> ext_at_[hidden]%3cmailto:ext_at_[hidden]>>; WG21 Tooling Study
> Group SG15 <tooling_at_[hidden]<mailto:tooling_at_[hidden]<mailto:
> tooling_at_[hidden]%3cmailto:tooling_at_[hidden]>>>
> >
> >Cc: Nathan Sidwell <nathan_at_[hidden]<mailto:nathan_at_[hidden]<mailto:
> nathan_at_[hidden]%3cmailto:nathan_at_[hidden]>>>
> >
> >Subject: Re: [isocpp-ext] [SG15] Can we expect that all C++ source files
> can have the same suffix?
> >
> >
> >
> >On 4/13/22 17:10, Nico Josuttis via SG15 wrote:
> >
> >
> >
> >I should add that the fact that we need
> >
> >module;
> >
> >at the beginning of the global module fragment was only introduced to
> >
> >let a file identify itself as module file. If we would require
> >
> >different suffixes, that would not have been necessary.
> >
> >
> >
> >But correct me if I am wrong.
> >
> >
> >
> >I shall correct you :)
> >
> >
> >
> >Here's the history (as I recall, all persons mentioned are real, and
> >
> >not to be confused with ficticious characters)
> >
> >
> >
> >* prior to me doing things with gcc, there was only 'module FOO;' as a
> >
> >module declaration at-most once within a TU. MSVC (the only compiler
> >
> >with module smarts at the time), had a flag to tell it 'this is an
> >
> >interface' vs 'this is an implementation'.
> >
> >
> >
> >* I found this unsatisfying, as it meant that there was something
> >
> >outside the source tokens that told you how to interpret them. In
> >
> >effect we had two languages.
> >
> >
> >
> >* IIRC, Gaby, Jason (Merrill) and I came up with the 'export module
> >
> >FOO;' vs 'module foo;' distinction. But still this could be anywhere
> >
> >in the source stream. I was able to implement this functionality to a
> >
> >working system.
> >
> >
> >
> >* Daveed proposed an early signifier of 'hey, this is gonna be a
> >
> >module', should the actual module declaration not be first. Hence
> >
> >'module;' was born. (My understanding was that this was driven by
> >
> >implementors, as they had difficulty entering a module-like mode not at
> >
> >start of compilation, and indeed it was a little tricky to do that. I
> >
> >do not know if this was also a user request.)
> >
> >
> >
> >* post p1103, the requirement that everything between 'module;' and the
> >
> >module decl come from #include came to be.
> >
> >
> >
> >Hope that helps.
> >
> >
> >
> >I know I've mentioned it more than once, but I find it unsettling,
> >
> >given there was great opposition to there being a (two way?) mapping
> >
> >between file names and module names, that there is a move in the
> >
> >direction of making file names 'significant'. ISTM that the desire for
> >
> >bob.$REGULARSUFFIX and alice.$MODULESUFFIX is taking us all the way
> >
> >back to the first objection above about having two languages.
> >
> >
> >
> >nathan
> >
> >
> >
> >
> >
> >
> >
> >Am 13. April 2022 22:58:13 MESZ schrieb Nicolai Josuttis via Ext
> >
> ><ext_at_[hidden]<mailto:ext_at_[hidden]<mailto:
> ext_at_[hidden]%3cmailto:ext_at_[hidden]>>>:
> >
> >
> >
> > What I teach about modules is compelling. Programmers like and want
> to use it.
> >
> > However, they ask how they should organize module files in
> >
> > practice.
> >
> >
> >
> > So far I cannot recommend a specific suffix (and I might never be
> able to do
> >
> > that).
> >
> > However there is one important question that IMO the standard should
> answer:
> >
> > *Do we **/need /**different suffixes?*
> >
> >
> >
> > I understand that a suffix discussion is only of practical value.
> >
> > But IMO the standard has to give an answer here (which has nothing to
> do
> >
> > with which suffixes are used).
> >
> >
> >
> > Let me elaborate that in detail:
> >
> >
> >
> > Not having a standard suffix has interesting consequences.
> >
> > So far we have header files and translation units.
> >
> > But once we know what a C++ translation unit is, we can just compile
> them
> >
> > all with the same compiler options or commands. Because in practice
> we have
> >
> > different suffixes for header and source files, we can set-up generic
> rules
> >
> > to compile our code.
> >
> >
> >
> > This works for any suffix, provided you know the way to tell the
> compiler
> >
> > that we have a C++ file here:
> >
> > (use /Tp with VC++ and -xc++ with gcc and you are done).
> >
> >
> >
> > Is this still true with modules?
> >
> > That is: Can we expect that identifying a file as C++ file is enough
> to be
> >
> > able to (pre) compile it as C++ file?
> >
> >
> >
> > Current compilers give different answers (AFAIK):
> >
> >
> >
> > - *gcc *says the same suffix is possible. There is not special option
> for
> >
> > modules.
> >
> > I can still have my own suffixes and use -xc++ though.
> >
> >
> >
> > - *VC++* currently requires different suffixes or different
> command-line
> >
> > arguments.
> >
> > Identifying a file as C++ file is not enough.
> >
> > For example
> >
> > - This is not enough: /Tp mymod.cppm
> >
> > - You need: /interface /Tp mymod.cppm
> >
> >
> >
> > I wonder whether the behavior of VC++ is standard conforming.
> >
> >
> >
> > I see no place in the C++ standard saying that there has to be
> different
> >
> > treatment of C++ source files to make them work.
> >
> > Or do we require this somewhere?
> >
> > We do not require different treatment just because we have templates,
> >
> > namespaces, or exceptions used inside.
> >
> > Therefore, I would expect that also using modules does not require
> special
> >
> > handling.
> >
> > (This is independent from the question whether different suffixes
> help to
> >
> > deal with these files).
> >
> >
> >
> > If I am right, VC++ is not standard conforming.
> >
> >
> >
> >
> >
> > In any case it would help a lot to clarify:
> >
> > Can all C++ source files expect that treating them the same way
> >
> > works fine?
> >
> >
> >
> > If not, we obviously need different suffixes. But then we should
> clearly say
> >
> > so (without necessarily saying which suffix it is).
> >
> >
> >
> >
> >
> > I hope this questions brings us a bit forward to be able teach the
> first
> >
> > *portable *"hello, modules" example.
> >
> >
> >
> > Thanks
> >
> >
> >
> > Nico
> >
> >
> >
> > --
> >
> >________________________________
> >
> > Nicolai M. Josuttis
> >
> >
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.josuttis.de%2F&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=rGQUFYPVGC6vH5MaGf4q6GG%2BB8fTzeWGtqy%2BSjZ9w30%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.josuttis.de%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049594273%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=gsYjtACCK%2B3xGJ0D1a5fF%2FKzzmE7DpYu8BtgeKfxkE0%3D&reserved=0
> ><
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.josuttis.de%2F&data=05%7C01%7Cgdr%40microsoft.com%7C1610f887a9444406d22e08da1f12de0a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856463158988825%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=p58c74Uq%2FArsijB%2FZMZFWYQRjVAiDRLXA%2Bc0ARBueXU%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.josuttis.de%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049594273%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=gsYjtACCK%2B3xGJ0D1a5fF%2FKzzmE7DpYu8BtgeKfxkE0%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%2Fcppstd20.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3RK5Al6NSQ9aaLx4mj7IAYuvW2IBRAD292Q5A3%2BlZAk%3D&reserved=0,https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppstd17.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=6HM1W8MPFGlu1AeYoBJHI9IeRXS7VmxTw5w8YTn8FD4%3D&reserved=0,https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppmove.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=N%2BKcVW0jDyb9rEFMBB1r69HTdjAP%2BJa4STQPn3vs7Z8%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppstd20.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=N1SXK4iD41u7UC7F72L6xxeMracJde6RSrbWU0r58Mg%3D&reserved=0
> >,
> >
> >
> >
> > https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppst
> >
> > dlib.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad4849068
> >
> > 20b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436
> >
> > 548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIi
> >
> > LCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=oHQRsZCq6VomT
> >
> > GLKM9tyotrYPxwh3ZocNgZaBeqgOo4%3D&reserved=0,https://nam06.safelin<
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fnam06.safelin%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=lpjkm12QpMj3jfA9fcVa9JFhobX9I13Gaziew8HHmmI%3D&reserved=0
> >
> >
> > ks.protection.outlook.com/?url=http%3A%2F%2Ftmplbook.com%2F&data=0
> >
> > 5%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f9
> >
> > 88bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7C
> >
> > TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVC
> >
> > I6Mn0%3D%7C3000%7C%7C%7C&sdata=gVVlDFg7ZDl5T%2Bgcbyf5KrwiqLBOEFfLb
> >
> > SR19DGDMgQ%3D&reserved=0<https://nam06.safelinks.protection.outloo<
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fnam06.safelinks.protection.outloo%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=UFZL%2F0vJ7Yl25bdnZiEzWpB%2FTtLwxOiiLoIk3YPEuRM%3D&reserved=0
> >
> >
> > k.com/?url=http%3A%2F%2Fcppstdlib.com%2F&data=05%7C01%7Cgdr%40microsof
> >
> > t.com%7C1610f887a9444406d22e08da1f12de0a%7C72f988bf86f141af91ab2d7cd01
> >
> > 1db47%7C1%7C0%7C637856463158988825%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4
> >
> > wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7
> >
> > C&sdata=yOr6zw%2Fn2ieJeu%2FLClrrZO6kgYphCKzAJuLLIvnnX7A%3D&reserved=0>
> >
> >
> >
> >--
> >
> >Nico Josuttis
> >
> >(sent from my mobile phone)
> >
> >________________________________
> >
> >SG15 mailing list SG15_at_[hidden]<mailto:SG15_at_[hidden]
> <mailto:SG15_at_[hidden]%3cmailto:SG15_at_[hidden]>>
> >
> >
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=WuvKKYX%2FnkV6rIOADi4dtNc3IUcjURRipoLglLkOHHw%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wd8HudWc%2B%2FreKwIEcIuvuKI7Znz44A5JJrbxMjY7sg0%3D&reserved=0
> ><
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&data=05%7C01%7Cgdr%40microsoft.com%7C1610f887a9444406d22e08da1f12de0a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856463158988825%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=S6qXqKiRwadGpynz34rxacJtL8HGBj2CJu6gYxoEl4E%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wd8HudWc%2B%2FreKwIEcIuvuKI7Znz44A5JJrbxMjY7sg0%3D&reserved=0
> >>
> >
> >
> >
> >
> >
> >
> >
> >--
> >
> >Nathan Sidwell
> >
> >________________________________
> >
> >Ext mailing list Ext_at_[hidden]<mailto:Ext_at_[hidden]<mailto:
> Ext_at_[hidden]%3cmailto:Ext_at_[hidden]>>
> >
> >Subscription:
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=FKzU3Gsik%2F2SAyJOOmZfJ%2FWTRZ8jjpc4cXaOotkWrB0%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3PqRkVz68994HiLPE1mkidvGgAww5kEJufXHOfeLW1A%3D&reserved=0
> ><
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=05%7C01%7Cgdr%40microsoft.com%7C1610f887a9444406d22e08da1f12de0a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856463158988825%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Ki7yx7xed6LLVCfthhpH405JRq5l9wW3kF8EQ07ghEY%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3PqRkVz68994HiLPE1mkidvGgAww5kEJufXHOfeLW1A%3D&reserved=0
> >>
> >
> >Link to this post:
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19021.php&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=DjZPo5RuyycaIgn8Yp3q%2BX2kmXv4Oj9lTHkPIsyYk4Q%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19021.php&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=039ZNct0Yc04UIX1VccOf8gnhB4YVqxZjfmx6AosSk8%3D&reserved=0
> ><
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19021.php&data=05%7C01%7Cgdr%40microsoft.com%7C1610f887a9444406d22e08da1f12de0a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856463158988825%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=EJPBQ8G5MLaW0RBVNLud2RWq5gtXAYsk5tJ%2B%2Fct5YIk%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19021.php&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=039ZNct0Yc04UIX1VccOf8gnhB4YVqxZjfmx6AosSk8%3D&reserved=0
> >>
> >
> >________________________________
> >
> >Ext mailing list Ext_at_[hidden]<mailto:Ext_at_[hidden]<mailto:
> Ext_at_[hidden]%3cmailto: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=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3PqRkVz68994HiLPE1mkidvGgAww5kEJufXHOfeLW1A%3D&reserved=0
> ><
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=05%7C01%7Cgdr%40microsoft.com%7C1610f887a9444406d22e08da1f12de0a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856463158988825%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Ki7yx7xed6LLVCfthhpH405JRq5l9wW3kF8EQ07ghEY%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3PqRkVz68994HiLPE1mkidvGgAww5kEJufXHOfeLW1A%3D&reserved=0
> >>
> >
> >Link to this post: http://lists.isocpp.org/ext/2022/04/19023.php<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19023.php&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=DAW1s9O7lLYcxj%2BCZZw7TTwAeaDmHlnxiBuyKmcJxeg%3D&reserved=0
> ><
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19023.php&data=05%7C01%7Cgdr%40microsoft.com%7C1610f887a9444406d22e08da1f12de0a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856463158988825%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Qu%2B5DWTdYzn3j6KAhjyM46MwRmpzO3J3Zdd9ljJm5SQ%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19023.php&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=DAW1s9O7lLYcxj%2BCZZw7TTwAeaDmHlnxiBuyKmcJxeg%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=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=T3dT%2BJPfKHKIEHOdsN7t%2F%2Bd4VnpyJeBXqYtyJ0Lm37w%3D&reserved=0
> >
> >
> >Link to this post: http://lists.isocpp.org/ext/2022/04/19028.php<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19028.php&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=6Dzz5oDbJQkb5p0jG5CF45lk2iD2blrXOvSMLEk1f1c%3D&reserved=0
> >
> >
> >________________________________
> >
> >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=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=T3dT%2BJPfKHKIEHOdsN7t%2F%2Bd4VnpyJeBXqYtyJ0Lm37w%3D&reserved=0
> >
> >
> >Link to this post: http://lists.isocpp.org/ext/2022/04/19029.php<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19029.php&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ZjEHcBvCfkltPCdc8SA2vun0Yiko4APXMoRFlq8PucU%3D&reserved=0
> >
> >--
> >Nico Josuttis
> >(sent from my mobile phone)
> >
> >--
> >
> >---
> >
> >Nicolai M. Josuttis
> >
> >www.josuttis.de<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.josuttis.de%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Dyz2rYisHuwmjxHWF%2F2yt0h0Epuk8M%2F2VYEMNyX5g5U%3D&reserved=0
> >
> >
> >+49 (0)531 / 129 88 86
> >
> >+49 (0)700 / JOSUTTIS
> >
> >
> >
> >Books:
> >
> > C++: http://cppstd20.com<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppstd20.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=r%2FWuSJUgknYANZ276JcWOQJM3rL6mlyYq6An3FcZTEs%3D&reserved=0>,
> http://cppstd17.com<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppstd17.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Iz9xMuifU%2FbWns%2BVqzjwrHQ8ZTUfPrZfsugqZQNC%2FHo%3D&reserved=0>,
> http://cppmove.com<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppmove.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=61dgMi44bQnT1JdvDtzlFO4%2FzqoHM27DYLljjzeYIXo%3D&reserved=0
> >,
> >
> > http://cppstdlib.com<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppstdlib.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=OOq3PziWv3BtwLQ%2F%2FIZ2JFlK8PKRlRxxt4%2FS4%2BAfqYs%3D&reserved=0>,
> http://tmplbook.com<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftmplbook.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=R7iqQEF00QUfrnaL%2Flu%2BBDXPeTN%2FWTqF2NznXqpPm4Y%3D&reserved=0
> >
> >
> >
>
> --
> Nico Josuttis
> (sent from my mobile phone)
> _______________________________________________
> Ext mailing list
> Ext_at_[hidden]
> Subscription: https://lists.isocpp.org/mailman/listinfo.cgi/ext
> Link to this post: http://lists.isocpp.org/ext/2022/04/19057.php
>
for WG21, and is squarely in the area of implementations, specifically of
one implementation.
If the discussion stays in the areas of whether a feature is missing from
an implementation or whether there is a bug, my recommendation is that this
thread be moved to a more appropriate forum where the implementers and the
user(s) can discuss requirements and implementation specific behavior.
I suggest visualcpp_at_[hidden] as a suitable forum, perhaps with other
implementers included if they’d prefer to be looped in.
— Michael
(now a C++ Program Manager at Microsoft)
On Mon, Apr 18, 2022 at 8:48 AM Nico Josuttis via Ext <ext_at_[hidden]>
wrote:
>
>
> Thanks Gaby,
>
> Am 18. April 2022 15:54:31 MESZ schrieb Gabriel Dos Reis <
> gdr_at_[hidden]>:
> >[Nico]
> >
> >
> > * a) To support generic rules in built systems, programmers have to
> use a special suffix for them
> >
> >Nope. They let the build systems to their jobs for them. That is, by
> far, the scalable solution over the long term.
>
> So you place unnecessary burden on all tools calling cl.
>
> > * b) Or ALL tools, for which it matters whether a unit is an internal
> partition, have to parse the contents of C++ source files
> >My understanding is that build2 doesn’t use the scan approach and does
> not require a specific suffix.
> >
>
> Which proves what?
>
> > * So, why do you provide a specific suffix to help to avoid /interface
> >
> >That is a default behavior, not a required behavior. You can supply
> /interface on a file with “.ixx” suffix.
> >
>
> Yes, but unfortunately, that suffix is not support by other compilers.
> Although gcc can deal with it without a specific option for any module
> unit.
> It would be great if Visual C++ would just provide the same flexibility.
>
> > * while not providing a specific suffix to help to avoid
> /internalPartition ?
> >
> >Why do you need one internal partitions? Just to avoid supplying a
> compiler flag?
> >
>
> In don't understand this question.
> For any internal partition, Visual C++ needs a specific compiler option.
> This is independent from how many files of them I have.
> So, not having a specific suffix requires all tools that call cl to
> inspect file content (as you pointed out yourself). What else should these
> tools do?
>
> > * the community is eagerly waiting for a fix of Visual C++
> >
> >You keep claiming to speak for “the community” wanting a fix when you
> haven’t demonstrated a bug or a problem. Your claiming “I want a fix” by
> itself does not is not a demonstration that there is actual problem. If
> the problem is to build a module file, I recommend you use a build system:
> on the long run that is a more scalable solution.
>
> Yes, I am part of this community.
> I don't claim that everybody waits for that. But it would be of tremendous
> help for a lot of programmers. Especially those who want to start with
> modules.
>
> And yes, I categorize it a bug if I cannot use it in practice.
>
> I am a bit surprised that you do not WANT to support OTHER ways to deal
> with modules than using a build system.
> This might be good marketing for build systems but is counter productive
> for the acceptance of modules.
>
> > * THEN we can see whether 2 new suffixes are necessary in practice
> and discuss them...
> >
> >You should also exercise the fervor in pushing other compilers to support
> “.ixx” if you’re interested in unbiased result of that experiment.
> >
>
> Oh, I definitely did in the past. I did start this way to get the problem
> solved. Remember me first asking for the standard suffixes.
> It seems I was not more successful than you trying it for 5 years... 😉
> Beside that we have a better suffix proposed by clang and a third suffix
> is missing (as long as Vusual C++ requires special options).
>
> Mabe it is time to respect the status quo and make the best out of it.
>
> There is a lot you could just solve here to bring modules to life.
> It even does not disable your approach of dealing with modules.
> Therefore, I really don't understand why you or Microsoft play the "do it
> my way or forget it" game instead of bringing C++ modules forward.
>
> Which problem do you get, if you allow any suffix, one command line, and
> find out the type of the module unit yourself?
>
> You act like this would be a major problem.
> If I would know what your problem is, I could at least explain that to my
> programmers.
>
> Thanks
> Nico
>
> >
> >-- Gaby
> >
> >From: Nicolai Josuttis <nico_at_[hidden]>
> >Sent: Monday, April 18, 2022 12:52 AM
> >To: Gabriel Dos Reis <gdr_at_[hidden]>; ext_at_[hidden]; WG21
> Tooling Study Group SG15 <sg15_at_[hidden]>
> >Subject: Re: [isocpp-ext] [SG15] Can we expect that all C++ source files
> can have the same suffix?
> >
> >
> >Thanks Gaby,
> >
> >I am confused by this statement:
> >The suffix isn’t to make the compiler’s job easier; it is to support
> other tools that don’t read the content of C++ source files in order to
> determine whether it defines an interface or something else.
> >
> >You only use it to argue in favor of a specific suffix for interface
> files.
> >But it seems for the same reason you need a specific suffix to determine
> whether a C++ source file is an internal partition.
> >Otherwise as you correctly points out tools have to read the contents.
> >
> >IIUC, currently Visual C++ requires a specific command-line options
> (which is not allowed to be used otherwise).
> >So, the current policy forces one of two consequences:
> >
> >a) To support generic rules in built systems, programmers have to use a
> special suffix for them
> >
> >b) Or ALL tools, for which it matters whether a unit is an internal
> partition, have to parse the contents of C++ source files
> >
> >So, why do you provide a specific suffix to help to avoid /interface,
> while not providing a specific suffix to help to avoid /internalPartition ?
> >
> >However, the obvious question is whether we can agree on yet another
> suffix (although we cannot agree on .ixx yet)?
> >
> >For me the consequence is obvious:
> >While my script (clmod.py at http://github.com/josuttis/cppmodules<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgithub.com%2Fjosuttis%2Fcppmodules&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049594273%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=N6QUc%2Fe%2Fw3GPyickfolNEdsQyDBcn9IFZgBTKb3Ptco%3D&reserved=0>)
> can be used as a workaround,
> >the community is eagerly waiting for a fix of Visual C++ so that it
> allows any suffix (and command-lines with all units of a program passed at
> once).
> >Anything else is currently a show stopper for bringing modules to life
> >(which is sad, because what I hear from feedback of my trainings is that
> programmers are eagerly waiting to try out modules).
> >
> >THEN we can see whether 2 new suffixes are necessary in practice and
> discuss them...
> >
> >Thanks
> >
> > Nico
> >
> >
> >Am 17.04.2022 um 03:25 schrieb Gabriel Dos Reis:
> >[Nico]
> >
> > 1. still I don't know the suffix for internal partitions
> >
> >I answered this (multiple times) a few months back when you asked me to
> review part of the chapter of your book. For internal partitions, use
> whatever suffix (e.g. .C, .cxx, .cpp, .cc) you use for your normal C++
> source file. MSVC does not recommend nor use a distinct suffix for
> internal partitions; they aren’t interface source files. The “.ixx” suffix
> is for module interface files (primary or partitions). The suffix isn’t to
> make the compiler’s job easier; it is to support other tools that don’t
> read the content of C++ source files in order to determine whether it
> defines an interface or something else.
> >
> >-- Gaby
> >
> >From: Ext <ext-bounces_at_[hidden]><mailto:
> ext-bounces_at_[hidden]> On Behalf Of Nico Josuttis via Ext
> >Sent: Saturday, April 16, 2022 3:54 AM
> >To: ext_at_[hidden]<mailto:ext_at_[hidden]>; Roger Orr via Ext
> <ext_at_[hidden]><mailto:ext_at_[hidden]>
> >Cc: Nico Josuttis <nico_at_[hidden]><mailto:nico_at_[hidden]>
> >Subject: Re: [isocpp-ext] [SG15] Can we expect that all C++ source files
> can have the same suffix?
> >
> >Hi Roger,
> >I agree.
> >However, cmake and other tools use the command line. So, they would have
> these problems solved.
> >
> >Even for Visual Studio, if there is support for arbitrary file extensions
> and no need for specific command line options, code coming from different
> compiler can just be used as it is.
> >So, programmers could have all files with suffix .cpp (as is fine for
> gcc) and just add them to the Visual Studio project without further action.
> >
> >While of course VC++ still can reommend special suffixes like .ixx (still
> I don't know the suffix for internal partitions), the other compilers would
> not have to adopt their convention and the community will decide which
> suffix "wins" (as it happened with ".cpp" which came from a Microsoft,
> although strangly it is not used by them in a modified form for modules).
> >
> >I will today publish a script that fix the problems Visual Studio has
> with module files for the command line. That way, programmers can write
> their first portable module programm... (portable in the practical not
> formal sense, Gaby).
> >
> >As usual, correct me if I miss something.
> >
> >
> >Am 16. April 2022 12:10:03 MESZ schrieb Roger Orr via Ext <
> ext_at_[hidden]<mailto:ext_at_[hidden]>>:
> >
> >Hello Nico,
> >
> >I am slightly puzzled by the use of 'command line' and 'command' in your
> email.
> >
> >
> >
> >In my own experience I suspect few of the C++ programmers I work with
> ever compile with a command line; they either work within an IDE or run a
> build script, likely using cmake. It us unclear to me what is the benefit
> of seeking a unified command line that most programmers are not even aware
> of.
> >
> >
> >
> >Regards,
> >
> >Roger.
> >
> >
> >
> >
> >
> >
> >
> >-----Original Message-----
> >
> >From: Ext [mailto:ext-bounces_at_[hidden]] On Behalf Of Nico
> Josuttis via Ext
> >
> >Sent: 16 April 2022 07:43
> >
> >To: Gabriel Dos Reis; ext_at_[hidden]<mailto:ext_at_[hidden]>;
> sg15_at_[hidden]<mailto:sg15_at_[hidden]>
> >
> >Cc: Nico Josuttis; Nathan Sidwell
> >
> >Subject: Re: [isocpp-ext] [SG15] Can we expect that all C++ source files
> can have the same suffix?
> >
> >
> >
> >
> >
> >Gaby,
> >
> >
> >
> >you want me to tell programmers that we have portable examples, for which
> unfortunately there is not defined HOW to deal with them?
> >
> >And selling this as "you can use modules in practice"? 🤔
> >
> >
> >
> >Of course for programmers a portable program implies that
> >
> >a) I don't have to rename files
> >
> >b) I don't have to use different conmand-line options for files having
> the same suffix
> >
> >c) I can compile all code with a single command
> >
> >
> >
> >Once we have that, we can teach content and programmers will use it. So
> far, the clear conclusion is that you cannot use modules in practice.
> >
> >
> >
> >It would be absolutely no problem to provide that for Visual C++. Ideally
> ignoring file extensions and analyze C++ file content.
> >
> >Therefore, I wonder why you do not WANT that (and at the same time tell
> that you are interesting that modules become widely used).
> >
> >
> >
> >And, BTW, I am desperately looking for the file extension Visual C++
> expect for internal patition units
> >
> >(to skip /internalPartition).
> >
> >PLEASE just tell us.
> >
> >
> >
> >Thanks
> >
> >
> >
> >
> >
> >
> >
> >Am 15. April 2022 21:46:13 MESZ schrieb Gabriel Dos Reis <
> gdr_at_[hidden]<mailto:gdr_at_[hidden]>>:
> >
> >Fortunately, there IS a portable C++ example of “hello world” program,
> >
> >today.
> >
> >
> >
> >*How* to compile a given source file has always depended on compilers,
> >
> >their environment of invocations, and supporting toolsets. That won’t
> >
> >change. And Modules don’t have a goal of changing that.
> >
> >
> >
> >Requiring that the set of satellite files that a compiler has to produce
> depends solely on the contents of the source file, and not on the
> invocation command lines, isn’t going to work in real world, production
> environments. That is what build systems are for, to abstract over the
> details. My hope is that professional teaching of programming with
> modules direct C++ programmers to relying on their build systems.
> >
> >
> >
> >We are having a conversation in SG15 about common ways of describing to
> >
> >build systems what are the needs of a program and library, and let the
> >
> >build system make the build happens. And that is not restricted to
> >
> >modules, even though they make the conversation urgent.
> >
> >
> >
> >-- Gaby
> >
> >
> >
> >From: Nico Josuttis <nico_at_[hidden]<mailto:nico_at_[hidden]>>
> >
> >Sent: Friday, April 15, 2022 12:05 PM
> >
> >To: ext_at_[hidden]<mailto:ext_at_[hidden]>; Gabriel Dos Reis
> via Ext
> >
> ><ext_at_[hidden]<mailto:ext_at_[hidden]>>; ext_at_[hidden]
> <mailto:ext_at_[hidden]>; sg15_at_[hidden]<mailto:
> sg15_at_[hidden]>
> >
> >Cc: Gabriel Dos Reis <gdr_at_[hidden]<mailto:gdr_at_[hidden]>>;
> Nathan Sidwell <nathan_at_[hidden]<mailto:nathan_at_[hidden]>>
> >
> >Subject: Re: [isocpp-ext] [SG15] Can we expect that all C++ source files
> can have the same suffix?
> >
> >
> >
> >haha,
> >
> >I REALLY would like to have the first portable "hello module" example.
> >
> >
> >
> >Currently, there is simply no way to have it. That's really a shame.
> >
> >
> >
> >
> >
> >Am 15. April 2022 20:46:59 MESZ schrieb Gabriel Dos Reis via Ext
> >
> ><ext_at_[hidden]<mailto:ext_at_[hidden]<mailto:
> ext_at_[hidden]%3cmailto:ext_at_[hidden]>>>:
> >
> >
> >
> >Nathan - you recount is all correct.
> >
> >
> >
> >I know I've mentioned it more than once, but I find it unsettling,
> >
> >given there was great opposition to there being a (two way?) mapping
> >
> >between file names and module names, that there is a move in the
> >
> >direction of making file names 'significant'. ISTM that the desire for
> >
> >bob.$REGULARSUFFIX and alice.$MODULESUFFIX is taking us all the way
> >
> >back to the first objection above about having two languages.
> >
> >
> >
> >I am not seeing any movement to make filename suffixes significant in
> >
> >the linguistic interpretation, by the compiler, of the content of
> >
> >source file. Maybe I am not looking right; but I would definitely
> >
> >recommend against such move. There are extra linguistic considerations
> >
> >that might force a toolset (not just a compiler) to require certain
> >
> >suffixes, but those suffixes do not determine the meaning a C++ program
> >
> >-- this is not different from compilers like GCC or MSVC refusing to
> >
> >compile in default mode files ending with ".h" or similar because they
> >
> >generally have other connotations.
> >
> >
> >
> >For some reasons, the topic of the "right" suffix seems to generate
> >
> >more passion than the topic of what can we do with modules, so maybe we
> >
> >are already doing a lot with modules 😝
> >
> >
> >
> >-- Gaby
> >
> >
> >
> >-----Original Message-----
> >
> >From: Ext
> >
> ><ext-bounces_at_[hidden]<mailto:ext-bounces_at_[hidden]<mailto:
> ext-bounces_at_[hidden]%3cmailto:ext-bounces_at_[hidden]>>> On
> Behalf Of Nathan Sidwell via Ext
> >
> >Sent: Friday, April 15, 2022 11:21 AM
> >
> >To: sg15_at_[hidden]<mailto:sg15_at_[hidden]<mailto:
> sg15_at_[hidden]%3cmailto:sg15_at_[hidden]>>;
> ext_at_[hidden]<mailto:ext_at_[hidden]<mailto:
> ext_at_[hidden]%3cmailto:ext_at_[hidden]>>; WG21 Tooling Study
> Group SG15 <tooling_at_[hidden]<mailto:tooling_at_[hidden]<mailto:
> tooling_at_[hidden]%3cmailto:tooling_at_[hidden]>>>
> >
> >Cc: Nathan Sidwell <nathan_at_[hidden]<mailto:nathan_at_[hidden]<mailto:
> nathan_at_[hidden]%3cmailto:nathan_at_[hidden]>>>
> >
> >Subject: Re: [isocpp-ext] [SG15] Can we expect that all C++ source files
> can have the same suffix?
> >
> >
> >
> >On 4/13/22 17:10, Nico Josuttis via SG15 wrote:
> >
> >
> >
> >I should add that the fact that we need
> >
> >module;
> >
> >at the beginning of the global module fragment was only introduced to
> >
> >let a file identify itself as module file. If we would require
> >
> >different suffixes, that would not have been necessary.
> >
> >
> >
> >But correct me if I am wrong.
> >
> >
> >
> >I shall correct you :)
> >
> >
> >
> >Here's the history (as I recall, all persons mentioned are real, and
> >
> >not to be confused with ficticious characters)
> >
> >
> >
> >* prior to me doing things with gcc, there was only 'module FOO;' as a
> >
> >module declaration at-most once within a TU. MSVC (the only compiler
> >
> >with module smarts at the time), had a flag to tell it 'this is an
> >
> >interface' vs 'this is an implementation'.
> >
> >
> >
> >* I found this unsatisfying, as it meant that there was something
> >
> >outside the source tokens that told you how to interpret them. In
> >
> >effect we had two languages.
> >
> >
> >
> >* IIRC, Gaby, Jason (Merrill) and I came up with the 'export module
> >
> >FOO;' vs 'module foo;' distinction. But still this could be anywhere
> >
> >in the source stream. I was able to implement this functionality to a
> >
> >working system.
> >
> >
> >
> >* Daveed proposed an early signifier of 'hey, this is gonna be a
> >
> >module', should the actual module declaration not be first. Hence
> >
> >'module;' was born. (My understanding was that this was driven by
> >
> >implementors, as they had difficulty entering a module-like mode not at
> >
> >start of compilation, and indeed it was a little tricky to do that. I
> >
> >do not know if this was also a user request.)
> >
> >
> >
> >* post p1103, the requirement that everything between 'module;' and the
> >
> >module decl come from #include came to be.
> >
> >
> >
> >Hope that helps.
> >
> >
> >
> >I know I've mentioned it more than once, but I find it unsettling,
> >
> >given there was great opposition to there being a (two way?) mapping
> >
> >between file names and module names, that there is a move in the
> >
> >direction of making file names 'significant'. ISTM that the desire for
> >
> >bob.$REGULARSUFFIX and alice.$MODULESUFFIX is taking us all the way
> >
> >back to the first objection above about having two languages.
> >
> >
> >
> >nathan
> >
> >
> >
> >
> >
> >
> >
> >Am 13. April 2022 22:58:13 MESZ schrieb Nicolai Josuttis via Ext
> >
> ><ext_at_[hidden]<mailto:ext_at_[hidden]<mailto:
> ext_at_[hidden]%3cmailto:ext_at_[hidden]>>>:
> >
> >
> >
> > What I teach about modules is compelling. Programmers like and want
> to use it.
> >
> > However, they ask how they should organize module files in
> >
> > practice.
> >
> >
> >
> > So far I cannot recommend a specific suffix (and I might never be
> able to do
> >
> > that).
> >
> > However there is one important question that IMO the standard should
> answer:
> >
> > *Do we **/need /**different suffixes?*
> >
> >
> >
> > I understand that a suffix discussion is only of practical value.
> >
> > But IMO the standard has to give an answer here (which has nothing to
> do
> >
> > with which suffixes are used).
> >
> >
> >
> > Let me elaborate that in detail:
> >
> >
> >
> > Not having a standard suffix has interesting consequences.
> >
> > So far we have header files and translation units.
> >
> > But once we know what a C++ translation unit is, we can just compile
> them
> >
> > all with the same compiler options or commands. Because in practice
> we have
> >
> > different suffixes for header and source files, we can set-up generic
> rules
> >
> > to compile our code.
> >
> >
> >
> > This works for any suffix, provided you know the way to tell the
> compiler
> >
> > that we have a C++ file here:
> >
> > (use /Tp with VC++ and -xc++ with gcc and you are done).
> >
> >
> >
> > Is this still true with modules?
> >
> > That is: Can we expect that identifying a file as C++ file is enough
> to be
> >
> > able to (pre) compile it as C++ file?
> >
> >
> >
> > Current compilers give different answers (AFAIK):
> >
> >
> >
> > - *gcc *says the same suffix is possible. There is not special option
> for
> >
> > modules.
> >
> > I can still have my own suffixes and use -xc++ though.
> >
> >
> >
> > - *VC++* currently requires different suffixes or different
> command-line
> >
> > arguments.
> >
> > Identifying a file as C++ file is not enough.
> >
> > For example
> >
> > - This is not enough: /Tp mymod.cppm
> >
> > - You need: /interface /Tp mymod.cppm
> >
> >
> >
> > I wonder whether the behavior of VC++ is standard conforming.
> >
> >
> >
> > I see no place in the C++ standard saying that there has to be
> different
> >
> > treatment of C++ source files to make them work.
> >
> > Or do we require this somewhere?
> >
> > We do not require different treatment just because we have templates,
> >
> > namespaces, or exceptions used inside.
> >
> > Therefore, I would expect that also using modules does not require
> special
> >
> > handling.
> >
> > (This is independent from the question whether different suffixes
> help to
> >
> > deal with these files).
> >
> >
> >
> > If I am right, VC++ is not standard conforming.
> >
> >
> >
> >
> >
> > In any case it would help a lot to clarify:
> >
> > Can all C++ source files expect that treating them the same way
> >
> > works fine?
> >
> >
> >
> > If not, we obviously need different suffixes. But then we should
> clearly say
> >
> > so (without necessarily saying which suffix it is).
> >
> >
> >
> >
> >
> > I hope this questions brings us a bit forward to be able teach the
> first
> >
> > *portable *"hello, modules" example.
> >
> >
> >
> > Thanks
> >
> >
> >
> > Nico
> >
> >
> >
> > --
> >
> >________________________________
> >
> > Nicolai M. Josuttis
> >
> >
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.josuttis.de%2F&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=rGQUFYPVGC6vH5MaGf4q6GG%2BB8fTzeWGtqy%2BSjZ9w30%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.josuttis.de%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049594273%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=gsYjtACCK%2B3xGJ0D1a5fF%2FKzzmE7DpYu8BtgeKfxkE0%3D&reserved=0
> ><
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.josuttis.de%2F&data=05%7C01%7Cgdr%40microsoft.com%7C1610f887a9444406d22e08da1f12de0a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856463158988825%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=p58c74Uq%2FArsijB%2FZMZFWYQRjVAiDRLXA%2Bc0ARBueXU%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.josuttis.de%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049594273%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=gsYjtACCK%2B3xGJ0D1a5fF%2FKzzmE7DpYu8BtgeKfxkE0%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%2Fcppstd20.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3RK5Al6NSQ9aaLx4mj7IAYuvW2IBRAD292Q5A3%2BlZAk%3D&reserved=0,https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppstd17.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=6HM1W8MPFGlu1AeYoBJHI9IeRXS7VmxTw5w8YTn8FD4%3D&reserved=0,https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppmove.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=N%2BKcVW0jDyb9rEFMBB1r69HTdjAP%2BJa4STQPn3vs7Z8%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppstd20.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=N1SXK4iD41u7UC7F72L6xxeMracJde6RSrbWU0r58Mg%3D&reserved=0
> >,
> >
> >
> >
> > https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppst
> >
> > dlib.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad4849068
> >
> > 20b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436
> >
> > 548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIi
> >
> > LCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=oHQRsZCq6VomT
> >
> > GLKM9tyotrYPxwh3ZocNgZaBeqgOo4%3D&reserved=0,https://nam06.safelin<
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fnam06.safelin%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=lpjkm12QpMj3jfA9fcVa9JFhobX9I13Gaziew8HHmmI%3D&reserved=0
> >
> >
> > ks.protection.outlook.com/?url=http%3A%2F%2Ftmplbook.com%2F&data=0
> >
> > 5%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f9
> >
> > 88bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7C
> >
> > TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVC
> >
> > I6Mn0%3D%7C3000%7C%7C%7C&sdata=gVVlDFg7ZDl5T%2Bgcbyf5KrwiqLBOEFfLb
> >
> > SR19DGDMgQ%3D&reserved=0<https://nam06.safelinks.protection.outloo<
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fnam06.safelinks.protection.outloo%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=UFZL%2F0vJ7Yl25bdnZiEzWpB%2FTtLwxOiiLoIk3YPEuRM%3D&reserved=0
> >
> >
> > k.com/?url=http%3A%2F%2Fcppstdlib.com%2F&data=05%7C01%7Cgdr%40microsof
> >
> > t.com%7C1610f887a9444406d22e08da1f12de0a%7C72f988bf86f141af91ab2d7cd01
> >
> > 1db47%7C1%7C0%7C637856463158988825%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4
> >
> > wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7
> >
> > C&sdata=yOr6zw%2Fn2ieJeu%2FLClrrZO6kgYphCKzAJuLLIvnnX7A%3D&reserved=0>
> >
> >
> >
> >--
> >
> >Nico Josuttis
> >
> >(sent from my mobile phone)
> >
> >________________________________
> >
> >SG15 mailing list SG15_at_[hidden]<mailto:SG15_at_[hidden]
> <mailto:SG15_at_[hidden]%3cmailto:SG15_at_[hidden]>>
> >
> >
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=WuvKKYX%2FnkV6rIOADi4dtNc3IUcjURRipoLglLkOHHw%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wd8HudWc%2B%2FreKwIEcIuvuKI7Znz44A5JJrbxMjY7sg0%3D&reserved=0
> ><
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&data=05%7C01%7Cgdr%40microsoft.com%7C1610f887a9444406d22e08da1f12de0a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856463158988825%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=S6qXqKiRwadGpynz34rxacJtL8HGBj2CJu6gYxoEl4E%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wd8HudWc%2B%2FreKwIEcIuvuKI7Znz44A5JJrbxMjY7sg0%3D&reserved=0
> >>
> >
> >
> >
> >
> >
> >
> >
> >--
> >
> >Nathan Sidwell
> >
> >________________________________
> >
> >Ext mailing list Ext_at_[hidden]<mailto:Ext_at_[hidden]<mailto:
> Ext_at_[hidden]%3cmailto:Ext_at_[hidden]>>
> >
> >Subscription:
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=FKzU3Gsik%2F2SAyJOOmZfJ%2FWTRZ8jjpc4cXaOotkWrB0%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3PqRkVz68994HiLPE1mkidvGgAww5kEJufXHOfeLW1A%3D&reserved=0
> ><
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=05%7C01%7Cgdr%40microsoft.com%7C1610f887a9444406d22e08da1f12de0a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856463158988825%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Ki7yx7xed6LLVCfthhpH405JRq5l9wW3kF8EQ07ghEY%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3PqRkVz68994HiLPE1mkidvGgAww5kEJufXHOfeLW1A%3D&reserved=0
> >>
> >
> >Link to this post:
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19021.php&data=05%7C01%7Cgdr%40microsoft.com%7Cbd5d9b59ad484906820b08da1f0cac6f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856436548406876%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=DjZPo5RuyycaIgn8Yp3q%2BX2kmXv4Oj9lTHkPIsyYk4Q%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19021.php&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=039ZNct0Yc04UIX1VccOf8gnhB4YVqxZjfmx6AosSk8%3D&reserved=0
> ><
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19021.php&data=05%7C01%7Cgdr%40microsoft.com%7C1610f887a9444406d22e08da1f12de0a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856463158988825%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=EJPBQ8G5MLaW0RBVNLud2RWq5gtXAYsk5tJ%2B%2Fct5YIk%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19021.php&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=039ZNct0Yc04UIX1VccOf8gnhB4YVqxZjfmx6AosSk8%3D&reserved=0
> >>
> >
> >________________________________
> >
> >Ext mailing list Ext_at_[hidden]<mailto:Ext_at_[hidden]<mailto:
> Ext_at_[hidden]%3cmailto: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=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3PqRkVz68994HiLPE1mkidvGgAww5kEJufXHOfeLW1A%3D&reserved=0
> ><
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=05%7C01%7Cgdr%40microsoft.com%7C1610f887a9444406d22e08da1f12de0a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856463158988825%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Ki7yx7xed6LLVCfthhpH405JRq5l9wW3kF8EQ07ghEY%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fext&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049644262%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3PqRkVz68994HiLPE1mkidvGgAww5kEJufXHOfeLW1A%3D&reserved=0
> >>
> >
> >Link to this post: http://lists.isocpp.org/ext/2022/04/19023.php<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19023.php&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=DAW1s9O7lLYcxj%2BCZZw7TTwAeaDmHlnxiBuyKmcJxeg%3D&reserved=0
> ><
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19023.php&data=05%7C01%7Cgdr%40microsoft.com%7C1610f887a9444406d22e08da1f12de0a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637856463158988825%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Qu%2B5DWTdYzn3j6KAhjyM46MwRmpzO3J3Zdd9ljJm5SQ%3D&reserved=0
> <
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19023.php&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=DAW1s9O7lLYcxj%2BCZZw7TTwAeaDmHlnxiBuyKmcJxeg%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=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=T3dT%2BJPfKHKIEHOdsN7t%2F%2Bd4VnpyJeBXqYtyJ0Lm37w%3D&reserved=0
> >
> >
> >Link to this post: http://lists.isocpp.org/ext/2022/04/19028.php<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19028.php&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=6Dzz5oDbJQkb5p0jG5CF45lk2iD2blrXOvSMLEk1f1c%3D&reserved=0
> >
> >
> >________________________________
> >
> >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=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=T3dT%2BJPfKHKIEHOdsN7t%2F%2Bd4VnpyJeBXqYtyJ0Lm37w%3D&reserved=0
> >
> >
> >Link to this post: http://lists.isocpp.org/ext/2022/04/19029.php<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fext%2F2022%2F04%2F19029.php&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ZjEHcBvCfkltPCdc8SA2vun0Yiko4APXMoRFlq8PucU%3D&reserved=0
> >
> >--
> >Nico Josuttis
> >(sent from my mobile phone)
> >
> >--
> >
> >---
> >
> >Nicolai M. Josuttis
> >
> >www.josuttis.de<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.josuttis.de%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Dyz2rYisHuwmjxHWF%2F2yt0h0Epuk8M%2F2VYEMNyX5g5U%3D&reserved=0
> >
> >
> >+49 (0)531 / 129 88 86
> >
> >+49 (0)700 / JOSUTTIS
> >
> >
> >
> >Books:
> >
> > C++: http://cppstd20.com<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppstd20.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=r%2FWuSJUgknYANZ276JcWOQJM3rL6mlyYq6An3FcZTEs%3D&reserved=0>,
> http://cppstd17.com<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppstd17.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Iz9xMuifU%2FbWns%2BVqzjwrHQ8ZTUfPrZfsugqZQNC%2FHo%3D&reserved=0>,
> http://cppmove.com<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppmove.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=61dgMi44bQnT1JdvDtzlFO4%2FzqoHM27DYLljjzeYIXo%3D&reserved=0
> >,
> >
> > http://cppstdlib.com<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcppstdlib.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=OOq3PziWv3BtwLQ%2F%2FIZ2JFlK8PKRlRxxt4%2FS4%2BAfqYs%3D&reserved=0>,
> http://tmplbook.com<
> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftmplbook.com%2F&data=05%7C01%7Cgdr%40microsoft.com%7C01d489095d0d41806d5808da21104609%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637858651049694248%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=R7iqQEF00QUfrnaL%2Flu%2BBDXPeTN%2FWTqF2NznXqpPm4Y%3D&reserved=0
> >
> >
> >
>
> --
> Nico Josuttis
> (sent from my mobile phone)
> _______________________________________________
> Ext mailing list
> Ext_at_[hidden]
> Subscription: https://lists.isocpp.org/mailman/listinfo.cgi/ext
> Link to this post: http://lists.isocpp.org/ext/2022/04/19057.php
>
Received on 2022-04-18 17:59:26