Go to the documentation of this file.
34 #ifndef CARTOBASE_CONFIG_CARTOBASE_CONFIG_H
35 #define CARTOBASE_CONFIG_CARTOBASE_CONFIG_H
38 #define CARTO_ATTRIBUTED_OBSOLETE_WARNING
40 #if defined( _WIN32 ) && !defined( __GNUC__ )
41 #ifdef CARTOBASE_EXPORTS
42 #define CARTOBASE_API __declspec(dllexport)
44 #define CARTOBASE_API __declspec(dllimport)
51 # define CARTO_NO_PARTIAL_TEMPLATE_SPECIALIZATION 1
52 #elif defined(__BORLANDC__)
53 # define CARTO_NO_MEMBER_TEMPLATE_FRIENDS 1
54 # define CARTO_BROKEN_FRIEND_TEMPLATE_FUNCTION 1
55 #elif defined (__GNUC__)
56 # if ( __GNUC__-0 == 2 )
57 # define CARTO_USE_PRE_ISO_HEADERS
58 # if ( __GNUC_MINOR__-0 == 95 )
59 # define CARTO_NO_MEMBER_TEMPLATE_FRIENDS 1
65 #ifndef __GLIBC_PREREQ
66 #if defined( __GLIBC__ ) && defined( __GLIBC_MINOR__ )
68 #define __GLIBC_PREREQ(maj, min) \
69 ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
71 #define __GLIBC_PREREQ(maj, min) 1
76 #undef _FILE_OFFSET_BITS
77 #define _FILE_OFFSET_BITS 64
78 #ifndef _LARGEFILE_SOURCE
79 #define _LARGEFILE_SOURCE
85 #if ( defined(_WIN32) && !defined( __GNUC__ ) ) || defined(__osf__)
86 typedef signed char int8_t;
87 typedef unsigned char uint8_t;
88 typedef short int16_t;
89 typedef unsigned short uint16_t;
91 typedef unsigned int uint32_t;
93 #define INT8_MIN (-128)
96 #define INT8_MAX (127)
99 #define UINT8_MAX (255)
102 #define INT16_MIN (-32768)
105 #define INT16_MAX (32767)
108 #define UINT16_MAX (65535)
111 #define INT32_MIN (-2147483648)
114 #define INT32_MAX (2147483647)
117 #define UINT32_MAX (4294967295U)
119 #elif defined(__sun) || defined(__sgi)
120 #include <inttypes.h>
122 #ifndef __STDC_LIMIT_MACROS
123 #define __STDC_LIMIT_MACROS
129 #if defined( _WIN32 ) && !defined( isnan )
134 # define rint(x) floor(x+0.5)
135 # define isnan(x) _isnan(x)
137 #elif defined( __APPLE__ ) && (__GNUC__==3) && (__GNUC_MINOR__<=3)
140 # define isnan( x ) ( ( sizeof ( x ) == sizeof(double) ) ? \
142 ( sizeof ( x ) == sizeof( float) ) ? \
151 #define CARTO_BROKEN_EXTERN_TEMPLATES
155 #if !defined( __LP64__ ) || defined( __APPLE__ )
156 #define CARTO_LONG_IS_DISTINCT
160 #ifndef __has_feature
161 #define __has_feature(x) 0
163 #ifndef __has_extension
164 #define __has_extension __has_feature
168 #if !(defined(__GNUC__) || defined(__attribute__))
169 #define __attribute__(a)
173 #if ((__GNUC__-0 < 4) || (__GNUC_MINOR__-0 < 5)) && !__has_extension(attribute_deprecated_with_message)
174 #define __deprecated__(msg) __deprecated__
187 #if __cplusplus >= 201103L
188 #define CARTO_OVERRIDE override
190 #define CARTO_OVERRIDE
191 #define static_assert(expr, msg)
194 #define unique_ptr auto_ptr