On 11/27/20 1:46 PM, Antony Polukhin wrote:
By levels: config 0 -> we probably would not need it any more
That's wishful thinking, unfortunately. Compiler bugs still exist, and C++17 support level is not uniform across compilers. Moving forward, later C++ versions are also not uniformly implemented.
We have feature test macro and Predef. IMO that's enough.
I don't think it is. There are a bunch of non-standard attribute macros, which vary from one compiler to another. There are quite a few relevant compiler bug macros. There are non-standard feature detection macros. Boost.Predef don't implement those. Also, feature test macros for standard library features are useless, as they require including the standard library headers. <version> only appears in C++20.