10 #include "fe/config.h" 13 #if FE_OS==FE_WIN32 || FE_OS==FE_WIN64 15 #ifndef WIN32_LEAN_AND_MEAN 16 #define WIN32_LEAN_AND_MEAN 18 #define FE_CPLUSPLUS _MSVC_LANG 20 #define FE_CPLUSPLUS __cplusplus 46 #if defined(FE_UNORDERED_MAP) && FE_CPLUSPLUS >= 201103L 47 #include <unordered_map> 48 #include <unordered_set> 49 #elif defined(HASH_MAP_IS_MAP) 52 template<
class k,
class v,
class h,
class e>
53 class hash_map :
public std::map< k,v > { };
54 template<
class k,
class h,
class e>
55 class hash_set :
public std::set< k > { };
58 #elif FE_COMPILER==FE_GNU 59 #include <ext/hash_map> 60 #include <ext/hash_set> 61 namespace fe_hash = __gnu_cxx;
62 #elif FE_OS==FE_WIN32 || FE_OS==FE_WIN64 66 #include <ext/hash_map> 67 #include <ext/hash_set> 70 #if defined(FE_UNORDERED_MAP) && FE_CPLUSPLUS >= 201103L 73 template<
class k,
class v,
class h,
class e>
74 class HashMap :
public std::unordered_map< k,v,h,e > { };
75 template<
class k,
class h,
class e>
76 class HashSet :
public std::unordered_set< k,h,e > { };
81 template<
class k,
class v,
class h,
class e>
82 class HashMap :
public ::fe_hash::hash_map< k,v,h,e > { };
83 template<
class k,
class h,
class e>
84 class HashSet :
public ::fe_hash::hash_set< k,h,e > { };
90 #if FE_OS==FE_WIN32 || FE_OS==FE_WIN64 96 #if FE_COMPILER!=FE_DMC 104 #include <mmsystem.h> 109 #define FE_MESSAGE_LENGTH_MAX 512 111 #elif FE_OS==FE_LINUX 112 #include <sys/time.h> 113 #include <sys/stat.h> 114 #include <sys/types.h> 119 #include <sys/socket.h> 120 #include <arpa/inet.h> 123 #define FE_MESSAGE_LENGTH_MAX 512 126 #include <sys/time.h> 127 #include <sys/stat.h> 128 #include <sys/types.h> 131 #include <netinet/in.h> 133 #include <sys/socket.h> 134 #include <arpa/inet.h> 137 #include <AssertMacros.h> 142 #define FE_MESSAGE_LENGTH_MAX 512 144 #elif FE_OS==FE_CYGWIN 145 #include <sys/time.h> 146 #include <sys/types.h> 149 #include <netinet/in.h> 151 #include <sys/socket.h> 152 #include <arpa/inet.h> 155 #define FE_MESSAGE_LENGTH_MAX 512 158 #if FE_COMPILER==FE_GNU && FE_OS==FE_OSX 159 #ifndef GCC_HASCLASSVISIBILITY 160 #define GCC_HASCLASSVISIBILITY 164 #if FE_COMPILER==FE_MICROSOFT 165 #define FE_DL_EXPORT __declspec(dllexport) 166 #define FE_DL_IMPORT __declspec(dllimport) 169 #elif defined(GCC_HASCLASSVISIBILITY) 171 #define FE_DL_EXPORT __attribute__ ((visibility("default"))) 173 #define FE_DL_PUBLIC FE_DL_EXPORT 174 #define FE_DL_LOCAL __attribute__ ((visibility("hidden"))) 182 #if FE_OS==FE_WIN32 || FE_OS==FE_WIN64 183 #define FE_CDECL __cdecl 188 #if FE_COMPILER==FE_GNU || FE_COMPILER==FE_INTEL 190 #elif FE_COMPILER==FE_MICROSOFT 192 #pragma warning( disable : 4355 ) 194 #pragma warning( disable : 4275 ) 195 #pragma warning( disable : 4251 ) 201 #if FE_OS==FE_WIN32 || FE_OS==FE_WIN64 202 #include <mbstring.h> 207 #ifdef FE_BOOST_EXCEPTIONS 208 #include "boost/exception/diagnostic_information.hpp" 221 #ifdef FE_EXPORT_MEMORY 222 #define FE_MEM_PORT FE_DL_EXPORT 224 #define FE_MEM_PORT FE_DL_IMPORT 227 #if FE_CODEGEN>FE_DEBUG 228 #define FEASSERT(condition) 229 #elif FE_OS==FE_WIN32 || FE_OS==FE_WIN64 230 #define FEASSERT(condition) _ASSERTE(condition) 232 #define FEASSERT(condition) assert(condition) 236 #define FE_MAYBE_UNUSED(x) (void)x 238 #define FE_SSE FE_USE_SSE 241 #define fe_printf printf 242 #define fe_fprintf fprintf 244 inline void fe_printf_ignore(
const char*, ...){}
245 inline void fe_fprintf_ignore(FILE*,
const char *, ...){}
246 #define fe_printf fe_printf_ignore 247 #define fe_fprintf fe_fprintf_ignore
kernel
Definition: namespace.dox:3