29 #ifndef CRYPTOPP_CONFIG_CXX_H 30 #define CRYPTOPP_CONFIG_CXX_H 42 #if (defined(_MSC_VER) && _MSC_VER <= 1300) || \ 43 defined(__MWERKS__) || \ 44 (defined(_STLPORT_VERSION) && ((_STLPORT_VERSION < 0x450) || defined(_STLP_NO_UNCAUGHT_EXCEPT_SUPPORT)) || \ 45 (__cplusplus >= 202002L)) 46 #define CRYPTOPP_DISABLE_UNCAUGHT_EXCEPTION 50 #ifndef CRYPTOPP_DISABLE_UNCAUGHT_EXCEPTION 51 # define CRYPTOPP_UNCAUGHT_EXCEPTION_AVAILABLE 1 52 # define CRYPTOPP_CXX98_UNCAUGHT_EXCEPTION 1 57 # define __has_feature(x) 0 61 #if ((_MSC_VER >= 1600) || (__cplusplus >= 201103L)) && !defined(_STLPORT_VERSION) 62 # define CRYPTOPP_CXX11 1 71 #if defined(__APPLE__) && defined(__clang__) 72 # if !(defined(__has_include) && __has_include(<forward_list>)) 73 # undef CRYPTOPP_CXX11 78 #if defined(CRYPTOPP_CXX11) && !defined(CRYPTOPP_NO_CXX14) 79 # if ((_MSC_VER >= 1900) || (__cplusplus >= 201402L)) && !defined(_STLPORT_VERSION) 80 # define CRYPTOPP_CXX14 1 85 #if defined(CRYPTOPP_CXX14) && !defined(CRYPTOPP_NO_CXX17) 86 # if ((_MSC_VER >= 1900) || (__cplusplus >= 201703L)) && !defined(_STLPORT_VERSION) 87 # define CRYPTOPP_CXX17 1 93 #if defined(CRYPTOPP_CXX11) 96 #if (CRYPTOPP_MSC_VERSION >= 1700) || __has_feature(cxx_atomic) || \ 97 (__INTEL_COMPILER >= 1300) || (CRYPTOPP_GCC_VERSION >= 40400) || (__SUNPRO_CC >= 0x5140) 98 # define CRYPTOPP_CXX11_ATOMIC 1 103 #if (CRYPTOPP_MSC_VERSION >= 1700) || (CRYPTOPP_LLVM_CLANG_VERSION >= 30300) || \ 104 (CRYPTOPP_APPLE_CLANG_VERSION >= 50000) || (__INTEL_COMPILER >= 1200) || \ 105 (CRYPTOPP_GCC_VERSION >= 40400) || (__SUNPRO_CC >= 0x5130) 112 # if !defined(__GLIBCXX__) || defined(_GLIBCXX_HAS_GTHREADS) 113 # define CRYPTOPP_CXX11_SYNCHRONIZATION 1 115 #endif // synchronization 122 #if (__cpp_threadsafe_static_init >= 200806) || \ 123 (CRYPTOPP_MSC_VERSION >= 1900) && ((WINVER >= 0x0600) || (_WIN32_WINNT >= 0x0600)) || \ 124 (CRYPTOPP_LLVM_CLANG_VERSION >= 20900) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40000) || \ 125 (__INTEL_COMPILER >= 1110) || (CRYPTOPP_GCC_VERSION >= 40300) || (__SUNPRO_CC >= 0x5130) 126 # define CRYPTOPP_CXX11_STATIC_INIT 1 127 #endif // Dynamic Initialization compilers 130 #if (CRYPTOPP_MSC_VERSION >= 1800) || (CRYPTOPP_LLVM_CLANG_VERSION >= 20900) || \ 131 (CRYPTOPP_APPLE_CLANG_VERSION >= 40000) || (__INTEL_COMPILER >= 1210) || \ 132 (CRYPTOPP_GCC_VERSION >= 40300) || (__SUNPRO_CC >= 0x5130) 133 # define CRYPTOPP_CXX11_DELETED_FUNCTIONS 1 134 #endif // deleted functions 137 #if (CRYPTOPP_MSC_VERSION >= 1900) || __has_feature(cxx_alignas) || \ 138 (__INTEL_COMPILER >= 1500) || (CRYPTOPP_GCC_VERSION >= 40800) || (__SUNPRO_CC >= 0x5130) 139 # define CRYPTOPP_CXX11_ALIGNAS 1 143 #if (CRYPTOPP_MSC_VERSION >= 1900) || __has_feature(cxx_alignof) || \ 144 (__INTEL_COMPILER >= 1500) || (CRYPTOPP_GCC_VERSION >= 40500) || (__SUNPRO_CC >= 0x5130) 145 # define CRYPTOPP_CXX11_ALIGNOF 1 149 #if (CRYPTOPP_MSC_VERSION >= 1800) || (CRYPTOPP_LLVM_CLANG_VERSION >= 30100) || \ 150 (CRYPTOPP_APPLE_CLANG_VERSION >= 40000) || (__INTEL_COMPILER >= 1400) || \ 151 (CRYPTOPP_GCC_VERSION >= 40400) || (__SUNPRO_CC >= 0x5130) 152 # define CRYPTOPP_CXX11_INITIALIZER_LIST 1 156 #if (CRYPTOPP_MSC_VERSION >= 1700) || __has_feature(cxx_lambdas) || \ 157 (__INTEL_COMPILER >= 1200) || (CRYPTOPP_GCC_VERSION >= 40900) || (__SUNPRO_CC >= 0x5140) 158 # define CRYPTOPP_CXX11_LAMBDA 1 162 #if (CRYPTOPP_MSC_VERSION >= 1900) || __has_feature(cxx_noexcept) || \ 163 (__INTEL_COMPILER >= 1400) || (CRYPTOPP_GCC_VERSION >= 40600) || (__SUNPRO_CC >= 0x5130) 164 # define CRYPTOPP_CXX11_NOEXCEPT 1 165 #endif // noexcept compilers 168 #if (__cpp_variadic_templates >= 200704) || __has_feature(cxx_variadic_templates) || \ 169 (CRYPTOPP_MSC_VERSION >= 1800) || (__INTEL_COMPILER >= 1210) || \ 170 (CRYPTOPP_GCC_VERSION >= 40300) || (__SUNPRO_CC >= 0x5130) 171 # define CRYPTOPP_CXX11_VARIADIC_TEMPLATES 1 172 #endif // variadic templates 176 #if (__cpp_constexpr >= 200704) || __has_feature(cxx_constexpr) || \ 177 (CRYPTOPP_MSC_VERSION >= 1900) || (__INTEL_COMPILER >= 1600) || \ 178 (CRYPTOPP_GCC_VERSION >= 40600) || (__SUNPRO_CC >= 0x5130) 179 # define CRYPTOPP_CXX11_CONSTEXPR 1 180 #endif // constexpr compilers 184 #if (CRYPTOPP_MSC_VERSION >= 1700) || __has_feature(cxx_strong_enums) || \ 185 (__INTEL_COMPILER >= 1400) || (CRYPTOPP_GCC_VERSION >= 40400) || (__SUNPRO_CC >= 0x5120) 186 # define CRYPTOPP_CXX11_STRONG_ENUM 1 187 #endif // constexpr compilers 190 #if (CRYPTOPP_MSC_VERSION >= 1600) || __has_feature(cxx_nullptr) || \ 191 (__INTEL_COMPILER >= 1000) || (CRYPTOPP_GCC_VERSION >= 40600) || \ 192 (__SUNPRO_CC >= 0x5130) || defined(__IBMCPP_NULLPTR) 193 # define CRYPTOPP_CXX11_NULLPTR 1 194 #endif // nullptr_t compilers 196 #endif // CRYPTOPP_CXX11 200 #if defined(CRYPTOPP_CXX14) 204 #if (__cpp_static_assert >= 201411) 205 # define CRYPTOPP_CXX17_STATIC_ASSERT 1 206 #endif // static_assert 213 #if defined(CRYPTOPP_CXX17) 220 #if defined(__clang__) 221 # if __EXCEPTIONS && __has_feature(cxx_exceptions) 222 # if __cpp_lib_uncaught_exceptions >= 201411L 223 # define CRYPTOPP_CXX17_UNCAUGHT_EXCEPTIONS 1 226 #elif (CRYPTOPP_MSC_VERSION >= 1900) || (__INTEL_COMPILER >= 1800) || \ 227 (CRYPTOPP_GCC_VERSION >= 60000) || (__cpp_lib_uncaught_exceptions >= 201411L) 228 # define CRYPTOPP_CXX17_UNCAUGHT_EXCEPTIONS 1 229 #endif // uncaught_exceptions compilers 231 #endif // CRYPTOPP_CXX17 235 #if defined(CRYPTOPP_CXX11_NOEXCEPT) 236 # define CRYPTOPP_THROW noexcept(false) 237 # define CRYPTOPP_NO_THROW noexcept(true) 239 # define CRYPTOPP_THROW 240 # define CRYPTOPP_NO_THROW 241 #endif // CRYPTOPP_CXX11_NOEXCEPT 244 #if defined(CRYPTOPP_CXX11_NULLPTR) && !defined(NULLPTR) 245 # define NULLPTR nullptr 246 #elif !defined(NULLPTR) 247 # define NULLPTR NULL 248 #endif // CRYPTOPP_CXX11_NULLPTR 250 #endif // CRYPTOPP_CONFIG_CXX_H Library configuration file.
Library configuration file.
Library configuration file.