Add new macro for standard library header inclusion

Newer standard library headers should only be included when the compiler
is targetting that standard, otherwise some compilers (like MSVC) will
warn that you are using a newer C++ include on an older version.
This commit is contained in:
Ian McInerney 2023-07-24 10:33:10 +01:00
parent 3dfb2a5ac1
commit b8d3b37c9e
6 changed files with 30 additions and 14 deletions

View file

@ -1545,6 +1545,17 @@ typedef double wxDouble;
*/
#define wxCHECK_CXX_STD(stdver)
/**
Returns @true if the compiler is using the C++17 standard and the header @a header exists.
This is designed to guard inclusion of C++17 standard library headers, since MSVC will warn
if a header for a newer C++ standard is included when compiling for an older standard.
@since 3.3.0
@header{wx/defs.h}
*/
#define wxHAS_CXX17_INCLUDE(header)
/**
This macro can be used in a class declaration to disable the generation of
default assignment operator.