Corelink CPP Client
Corelink C++ client library
Loading...
Searching...
No Matches
platform_macros.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
typedefs.hpp
"
4
16
#ifdef _WIN32
21
#define CORELINK_EXPORT __declspec(dllexport)
26
#define CORELINK_IMPORT __declspec(dllimport)
27
#else
28
#define CORELINK_EXPORT
29
#define CORELINK_IMPORT
30
#endif
31
88
#if defined(_WIN32)
89
#define CORELINK_CPP_PLATFORM_IDENTIFIER _MSC_VER
90
#define CORELINK_CPP_LEAST_CONFORMANCE_VERSION_CPP17 1927
91
#define CORELINK_CPP_LEAST_CONFORMANCE_VERSION_CPP14 1911
92
#define CORELINK_CPP_LEAST_CONFORMANCE_VERSION_CPP11 1800
93
#elif defined (__cplusplus)
94
#define CORELINK_CPP_PLATFORM_IDENTIFIER __cplusplus
95
#define CORELINK_CPP_LEAST_CONFORMANCE_VERSION_CPP17 201703
96
#define CORELINK_CPP_LEAST_CONFORMANCE_VERSION_CPP14 201402
97
#define CORELINK_CPP_LEAST_CONFORMANCE_VERSION_CPP11 201103
98
#else
99
#error "Cannot determine a platform macro to determine CPP version! Please contact the corelink development team"
100
#endif
101
105
#define CORELINK_CHECK_CPP_VERSION_CONFORMANCE(version) (CORELINK_CPP_PLATFORM_IDENTIFIER >= version)
106
107
#if CORELINK_CHECK_CPP_VERSION_CONFORMANCE(CORELINK_CPP_LEAST_CONFORMANCE_VERSION_CPP17)
108
#define CORELINK_CPP17_SUPPORTED
109
#elif CORELINK_CHECK_CPP_VERSION_CONFORMANCE(CORELINK_CPP_LEAST_CONFORMANCE_VERSION_CPP14)
110
#define CORELINK_CPP14_SUPPORTED
111
#elif CORELINK_CHECK_CPP_VERSION_CONFORMANCE(CORELINK_CPP_LEAST_CONFORMANCE_VERSION_CPP11)
112
#define CORELINK_CPP11_SUPPORTED
113
#else
114
#error "Unsupported compiler version"
115
#endif
116
117
#if defined(CORELINK_CPP17_SUPPORTED)
118
#define CORELINK_CPP_ATTR_MAYBE_UNUSED [[maybe_unused]]
119
#else
120
#define CORELINK_CPP_ATTR_MAYBE_UNUSED
121
#endif
122
123
#define CORELINK_UNUSED(x) do {(void)x;} while(false)
typedefs.hpp
include
commons
platform_macros.hpp
Generated by
1.11.0