C++ Logo

sg10

Advanced search

Re: [SG10] [isocpp-core] Feature-test macro for ADL calls with template arguments?

From: Ville Voutilainen <ville.voutilainen_at_[hidden]>
Date: Mon, 15 Jun 2020 21:00:30 +0300
On Mon, 15 Jun 2020 at 20:32, Gabriel Dos Reis <gdr_at_[hidden]> 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.

Received on 2020-06-15 13:03:51