On Mon, 15 Jun 2020 at 20:32, Gabriel Dos Reis <[email protected]> wrote: > | > As a user depending on that superior functionality, how do I use it in > | practice when I am compiling with two different compilers with differing > | levels of support? Or, I am not supposed to see any difference? > | > | That depends on the API/implementation choice of the library. There's > | three options: > | > | 1) provide the full API everywhere with one implementation > | 2) provide the full API everywhere with two implementations, with the > | intent to get rid of the pre-C++17 implementation > | eventually > | 3) provide the full API for C++17 only, so as to keep its > | implementation clean of pre-C++17 work-arounds > | > | The macro enables (2) and (3). Option (1) can be done even without the > | macro. > > I sounds to me as if option (2) falls under `portability across compilers > pre- and post-C++17' > and > # [...] it has to be rewritten according to the conventions of each > environment. > > even if said duplication would eventually go away?
Correct. That's a choice a library writer needs to make. -- SG10 mailing list [email protected] https://lists.isocpp.org/mailman/listinfo.cgi/sg10
