|
Boost : |
Subject: Re: [boost] [review] Formal review period for VMD library begins today, Aug 21, and ends Sat, Aug 30
From: Edward Diener (eldiener_at_[hidden])
Date: 2014-08-23 09:40:38
On 8/23/2014 8:21 AM, Niall Douglas wrote:
> On 22 Aug 2014 at 11:46, Edward Diener wrote:
>
>> I was not aware that every other library puts its documentation on its
>> own website outside of GitHub. In that case it seems to me that it
>> should have been a requirement of submitting a library to Boost or at
>> least strongly suggested somewhere.
>
> An inspection of the review queue makes it very clear.
No it does not. Unless there is some published policy I have never
understood that library documentation must be hosted separately from a
library itself.
>
>>> I struggle to see how variadic macros add to Boost PP in such a
>>> limited use case. This is the source of my difficulty.
>>
>> The Boost TTI library ( I am the developer ) uses variadic macros in
>> order to pass, among other things the name of the element to be
>> introspected. Many other libraries use macros, and some variadic macros,
>> as part of its interface. In my tests using Boost PP, since I work on
>> fixes to it, there are about 45 other libraries that use Boost PP. There
>> are a number of Boost libraries that use variadic macros in advanced
>> cases. There are probably many end-users out there using variadic macros
>> in their own programming.
>
> Are you saying that VMD has resulted from internal code in TTI that
> you decided to tidy up and make available as a standalone library?
> That would be a *very* different situation to writing greenfield
> code.
How you interpret the above from my comment is beyond me. Clearly I said
nothing in what I wrote to even imply it.
>
>>> For reference, I do believe that in C++ 14 code there has to be a
>>> high bar set on the use of macros in public interfaces, especially as
>>> C++ 17 Modules will deprecate that. For that reason, macros in
>>> interfaces is a bad idea.
>>
>> I do not understand the link between C++ 17 Modules and macro programming.
>
> C++ Modules is expected to obsolete macro programming, in fact
> eliminating macros completely from interface files is one of its
> chief goals. It tells you all about it in its TS.
If C++17 Modules is able to obsolete all macro programming that is fine
with me. But that time is hardly here now and macro programming is still
very much part of Boost libraries.
>
> Macro programming will remain supported in non-interface files. I'm
> okay with that, it can save a lot of repetitive copy and pasting.
I do not know what you mean by "non-interface" files.
>
> Again, if anyone can chime in with an example real world use of
> Edward's VMD library I would feel much happier. I need some example
> code to look at.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk