usermode/library/common/cuckoo_hash/Common_inline.h

00001 
00002 //metadoc Common copyright Steve Dekorte 2002
00003 //metadoc Common license BSD revised
00004 /*metadoc Common description
00005 You may need to add an entry for your C compiler.
00006 */
00007 
00008 /*
00009 Trick to get inlining to work with various compilers
00010 Kudos to Daniel A. Koepke
00011 */
00012 
00013 #undef IO_DECLARE_INLINES
00014 #undef IOINLINE
00015 
00016 /*
00017 #if defined(__cplusplus)
00018         #ifdef IO_IN_C_FILE
00019         #else
00020                 #define IO_DECLARE_INLINES
00021                 #define IOINLINE extern inline
00022         #endif
00023 #else
00024 */
00025 
00026 #if defined(__APPLE__)
00027         #include "TargetConditionals.h"
00028 #endif
00029 
00030 #if defined __XCODE__ && (TARGET_ASPEN_SIMULATOR || TARGET_OS_ASPEN)
00031         #define NON_EXTERN_INLINES
00032 #else
00033         #if defined __GNUC__ && __GNUC__ >= 4
00034                 //#define NON_EXTERN_INLINES
00035         #endif
00036 #endif
00037 
00038 #ifdef NON_EXTERN_INLINES
00039 
00040 #ifdef IO_IN_C_FILE
00041         // in .c 
00042         #define IO_DECLARE_INLINES
00043         #define IOINLINE 
00044 #else
00045         // in .h 
00046         #define IO_DECLARE_INLINES
00047         #define IOINLINE
00048 #endif 
00049 
00050 #else
00051 
00052 #ifdef IO_IN_C_FILE
00053         // in .c 
00054         #define IO_DECLARE_INLINES
00055         #define IOINLINE inline
00056 #else
00057         // in .h 
00058         #define IO_DECLARE_INLINES
00059         #define IOINLINE extern inline
00060 #endif 
00061 
00062 #endif
00063 
00064 /*
00065 #endif
00066 */

Generated on Sat Apr 23 11:43:35 2011 for Mnemosyne by  doxygen 1.4.7