File indexing completed on 2025-01-18 09:55:12
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #ifndef DAVIX_CONFIG
0023 #define DAVIX_CONFIG
0024
0025 #include <functional>
0026
0027 #ifndef __DAVIX_INSIDE__
0028 #error "Only davix.hpp should be included."
0029 #endif
0030
0031
0032
0033
0034 #ifndef DAVIX_EXPORT
0035 #define DAVIX_EXPORT __attribute__((visibility("default")))
0036 #endif
0037
0038
0039
0040
0041
0042 #if (defined(__GNUC__) || defined(__GNUG__)) && !(defined(__clang__) || defined(__INTEL_COMPILER))
0043 # ifndef __DAVIX_COMPILER_GCC
0044 # define __DAVIX_COMPILER_GCC
0045 # endif
0046 #endif
0047
0048
0049
0050
0051 #if ( (__cplusplus > 199711L) \
0052 || (defined (DAVIX_FORCE_CXX11)) \
0053 || (defined __GXX_EXPERIMENTAL_CXX0X__) )
0054 # ifndef __DAVIX_CX11_SUPPORT
0055 # define __DAVIX_CX11_SUPPORT
0056 # endif
0057 #endif
0058
0059
0060
0061
0062 #if ( (defined DAVIX_FORCE_TR1) \
0063 || (defined __DAVIX_COMPILER_GCC) \
0064 || (defined HAVE_TR1_SUPPORT))
0065 # ifndef __DAVIX_TR1_SUPPORT
0066 # define __DAVIX_TR1_SUPPORT
0067 #endif
0068
0069 #endif
0070
0071
0072
0073
0074
0075
0076 #if (!(defined __DAVIX_CX11_SUPPORT) \
0077 && (defined __DAVIX_TR1_SUPPORT))
0078 # include <tr1/functional>
0079 # include <tr1/memory>
0080
0081 namespace std{
0082 using namespace std::tr1;
0083 }
0084
0085 #endif
0086
0087
0088
0089
0090 #if ((defined __DAVIX_CX11_SUPPORT) \
0091 || (defined __DAVIX_TR1_SUPPORT) \
0092 || (defined HAVE_STD_FUNCTION))
0093 # ifndef __DAVIX_HAS_STD_FUNCTION
0094 # define __DAVIX_HAS_STD_FUNCTION
0095 # endif
0096 #endif
0097
0098
0099
0100
0101 #undef DAVIX_C_DECL_BEGIN
0102 #undef DAVIX_C_DECL_END
0103 #ifdef __cplusplus
0104 #define DAVIX_C_DECL_BEGIN \
0105 extern "C" {
0106 #define DAVIX_C_DECL_END }
0107 #else
0108 #define DAVIX_C_DECL_BEGIN
0109 #define DAVIX_C_DECL_END
0110 #endif
0111
0112
0113
0114
0115 #if (( __WORDSIZE == 32 ) \
0116 || ( SIZE_MAX == (4294967295U) )) \
0117 && !(defined __DAVIX_COMPAT_32) \
0118 && !(defined __NO_DAVIX_COMPAT_32)
0119 #define __DAVIX_COMPAT_32
0120 #endif
0121
0122
0123
0124
0125 #undef DEPRECATED
0126 #ifdef __GNUC__
0127 #define DEPRECATED(func) func __attribute__ ((deprecated))
0128 #else
0129 #define DEPRECATED(func) func
0130 #endif
0131
0132 #endif