3 #ifndef __CDS_ARH_COMPILER_DEFS_H
4 #define __CDS_ARH_COMPILER_DEFS_H
7 Required C++11 features:
8 - variadic template [CDS_CXX11_VARIADIC_TEMPLATE_SUPPORT]
9 - template alias [CDS_CXX11_TEMPLATE_ALIAS_SUPPORT]
10 - explicit conversion operator [CDS_CXX11_EXPLICIT_CONVERSION_OPERATOR_SUPPORT]
11 - default template argument for function [CDS_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS_SUPPORT]
12 - explicit default functions (=default) [CDS_CXX11_EXPLICITLY_DEFAULTED_FUNCTION_SUPPORT]
13 - =delete [CDS_CXX11_DELETE_DEFINITION_SUPPORT]
16 #if CDS_COMPILER == CDS_COMPILER_MSVC
17 # include <cds/compiler/vc/defs.h>
18 #elif CDS_COMPILER == CDS_COMPILER_GCC
19 # include <cds/compiler/gcc/defs.h>
20 #elif CDS_COMPILER == CDS_COMPILER_INTEL
21 # include <cds/compiler/icl/defs.h>
22 #elif CDS_COMPILER == CDS_COMPILER_CLANG
23 # include <cds/compiler/clang/defs.h>
24 #elif CDS_COMPILER == CDS_COMPILER_UNKNOWN
25 # error Unknown compiler. Compilation aborted
27 # error Unknown value of CDS_COMPILER macro
34 #ifndef CDS_EXPORT_API
35 # define CDS_EXPORT_API
38 #endif // #ifndef __CDS_ARH_COMPILER_DEFS_H