On Mon, 15 Jun 2020 at 19:47, Gabriel Dos Reis <[email protected]> wrote: > | I don't have a shade of illusion of portability here; it's all about > | selectively enabling superior > | functionality when it's available, and it's not yet available > | ubiquitously. Early adopters can adopt > | early, without waiting for everything to synchronize into a brave new world. > > 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. -- SG10 mailing list [email protected] https://lists.isocpp.org/mailman/listinfo.cgi/sg10
