Go to the documentation of this file.
3 #define GCC_ATLEAST(major, minor) (defined __GNUC__ && (__GNUC__ > (major) || (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor))))
5 #ifndef __has_extension // clang feature detection
7 # define __has_extension __has_feature
9 # define __has_extension(x) 0
13 #define CXX11(gcc_major, gcc_minor, msc_ver, clang_feature) ( \
14 __cplusplus >= 201103L || \
15 (defined __GXX_EXPERIMENTAL_CXX0X__ && GCC_ATLEAST((gcc_major), (gcc_minor))) || \
16 (defined _MSC_VER && (msc_ver) != 0 && _MSC_VER >= (msc_ver)) || \
17 __has_extension(clang_feature) \
20 #if CXX11(4, 4, 0, cxx_defaulted_functions)
21 # define DEFAULT = default
26 #if CXX11(4, 4, 0, cxx_deleted_functions)
27 # define DELETED = delete
32 #if !CXX11(4, 7, 1400, cxx_override_control)
37 # define __attribute__(x)
41 # define __func__ __FUNCTION__
42 # define __PRETTY_FUNCTION__ __FUNCSIG__
44 # define snprintf _snprintf
47 # define round(x) ((x) < 0 ? -std::floor(0.5 - (x)) : std::floor(0.5 + (x)))
50 # if __cplusplus < 201103L
58 #if __cplusplus >= 201103L