kaydara.h
Go to the documentation of this file.00001
00004 #ifndef _Kaydara_h
00005 #define _Kaydara_h
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045 typedef signed char kByte;
00046 typedef unsigned char kUByte;
00047
00048 #ifndef FALSE
00049 #define FALSE 0
00050 #endif
00051 #ifndef TRUE
00052 #define TRUE 1
00053 #endif
00054
00055 #include <float.h>
00056
00057 typedef bool kBool;
00058 typedef unsigned char kBoolean;
00059
00060 typedef char kChar;
00061 #define K_CHAR(x) kChar(x)
00062 typedef signed char kSChar;
00063 #define K_SCHAR(x) kSChar(x)
00064 typedef unsigned char kUChar;
00065 #define K_UCHAR(x) kUChar(x##L)
00066 #define K_CHAR_MIN K_CHAR(0)
00067 #define K_CHAR_MAX K_CHAR(127)
00068 #define K_SCHAR_MIN K_SCHAR(-128)
00069 #define K_SCHAR_MAX K_SCHAR(127)
00070 #define K_UCHAR_MIN K_UCHAR(0)
00071 #define K_UCHAR_MAX K_UCHAR(255)
00072 #define K_SIZEOF_CHAR 1
00073 typedef kChar * kCharPtr;
00074 typedef kChar kTChar;
00075 typedef kChar * kTCharPtr;
00076
00077 #ifndef _T
00078 #define _T(a) a
00079 #endif
00080
00081 typedef signed short kShort;
00082 #define K_SHORT(x) kShort(x)
00083 typedef unsigned short kUShort;
00084 #define K_USHORT(x) kUShort(x##U)
00085 #define K_SHORT_MIN K_SHORT(-32768)
00086 #define K_SHORT_MAX K_SHORT(32767)
00087 #define K_USHORT_MIN K_USHORT(0)
00088 #define K_USHORT_MAX K_USHORT(65535)
00089 #define K_SIZEOF_SHORT 2
00090
00091 typedef signed int kInt;
00092 #define K_INT(x) (x)
00093 typedef unsigned int kUInt;
00094 #define K_UINT(x) (x##U)
00095 #define K_INT_MIN K_INT(0x80000000)
00096 #define K_INT_MAX K_INT(0x7fffffff)
00097 #define K_UINT_MIN K_UINT(0)
00098 #define K_UINT_MAX K_UINT(0xffffffff)
00099 #define K_SIZEOF_INT 4
00100
00101 typedef signed long kLong;
00102 #define K_LONG(x) (x##L)
00103 typedef unsigned long kULong;
00104 #define K_ULONG(x) (x##UL)
00105 #define K_LONG_MIN K_LONG(0x80000000)
00106 #define K_LONG_MAX K_LONG(0x7fffffff)
00107 #define K_ULONG_MIN K_ULONG(0)
00108 #define K_ULONG_MAX K_ULONG(0xffffffff)
00109 #define K_SIZEOF_LONG 4
00110
00111 #ifdef _MSC_VER
00112 typedef signed __int64 kLongLong;
00113 #define K_LONGLONG(x) (x##i64)
00114 typedef unsigned __int64 kULongLong;
00115 #define K_ULONGLONG(x) (x##Ui64)
00116 #else
00117 typedef signed long long kLongLong;
00118 #define K_LONGLONG(x) (x##LL)
00119 typedef unsigned long long kULongLong;
00120 #define K_ULONGLONG(x) (x##ULL)
00121 #endif
00122 #define K_LONGLONG_MIN K_LONGLONG(0x8000000000000000)
00123 #define K_LONGLONG_MAX K_LONGLONG(0x7fffffffffffffff)
00124 #define K_ULONGLONG_MIN K_ULONGLONG(0)
00125 #define K_ULONGLONG_MAX K_ULONGLONG(0xffffffffffffffff)
00126 #define K_SIZEOF_LONGLONG 8
00127
00128 typedef float kFloat;
00129 #define K_FLOAT(x) (x##F)
00130 #define K_FLOAT_MIN FLT_MIN
00131 #define K_FLOAT_MAX FLT_MAX
00132 #define K_SIZEOF_FLOAT 4
00133
00134 typedef double kDouble;
00135 #define K_DOUBLE(x) (x)
00136 #define K_DOUBLE_MIN DBL_MIN
00137 #define K_DOUBLE_MAX DBL_MAX
00138 #define K_SIZEOF_DOUBLE 8
00139
00140 typedef kSChar kInt8;
00141 typedef kUChar kUInt8;
00142 #define K_INT8_MIN K_SCHAR_MIN
00143 #define K_INT8_MAX K_SCHAR_MAX
00144 #define K_UINT8_MIN K_UCHAR_MIN
00145 #define K_UINT8_MAX K_UCHAR_MAX
00146 #define K_SIZEOF_INT8 1
00147
00148 typedef kShort kInt16;
00149 typedef kUShort kUInt16;
00150 #define K_INT16_MIN K_SHORT_MIN
00151 #define K_INT16_MAX K_SHORT_MAX
00152 #define K_UINT16_MIN K_USHORT_MIN
00153 #define K_UINT16_MAX K_USHORT_MAX
00154 #define K_SIZEOF_INT16 2
00155
00156 typedef kInt kInt32;
00157 typedef kUInt kUInt32;
00158 #define K_INT32_MIN K_INT_MIN
00159 #define K_INT32_MAX K_INT_MAX
00160 #define K_UINT32_MIN K_UINT_MIN
00161 #define K_UINT32_MAX K_UINT_MAX
00162 #define K_SIZEOF_INT32 4
00163
00164 typedef kLongLong kInt64;
00165 typedef kULongLong kUInt64;
00166 #define K_INT64_MIN K_LONGLONG_MIN
00167 #define K_INT64_MAX K_LONGLONG_MAX
00168 #define K_UINT64_MIN K_ULONGLONG_MIN
00169 #define K_UINT64_MAX K_ULONGLONG_MAX
00170 #define K_SIZEOF_INT64 8
00171
00172 typedef kInt32 kInteger;
00173 typedef kUInt32 kUInteger;
00174 #define K_INTEGER_MIN K_INT32_MIN
00175 #define K_INTEGER_MAX K_INT32_MAX
00176 #define K_UINTEGER_MIN K_UINT32_MIN
00177 #define K_UINTEGER_MAX K_UINT32_MAX
00178 #define K_SIZEOF_INTEGER 4
00179
00180 typedef kInt kEnum;
00181 typedef void * kPointer;
00182
00183 #define K_SIZEOF_POINTER 4
00184 #define K_SHIFT_POINTER 2
00185
00186 #define K_NULL 0
00187
00188 typedef kULong kOffset;
00189 #define K_SIZEOF_OFFSET 4
00190 #define K_SHIFT_OFFSET 2
00191 typedef kOffset kReference;
00192
00193 typedef enum { K_SUCCESS = 0 , K_ERROR , K_NOTIMPL } kResult;
00194
00195 #if defined(linux) || defined(__sgi)
00196
00197 #ifndef strcmpi
00198 #define strcmpi strcasecmp
00199 #endif
00200 #ifndef stricmp
00201 #define stricmp strcasecmp
00202 #endif
00203 #ifndef strncmpi
00204 #define strncmpi strncasecmp
00205 #endif
00206 #ifndef strnicmp
00207 #define strnicmp strncasecmp
00208 #endif
00209 #endif
00210
00211
00212
00213 #if defined(__GNUG__) // GNU compiler
00214 #define K_DEPRECATED __attribute__((deprecated))
00215 #elif defined(__INTEL_COMPILER) // Intel compiler
00216 #if (__INTEL_COMPILER >= 810) // Maybe we could use an earlier version, we should check this some day
00217 #define K_DEPRECATED __declspec(deprecated)
00218 #else
00219 #define K_DEPRECATED
00220 #endif
00221 #elif defined(_MSC_VER) // Microsoft compiler
00222 #if (_MSC_VER >= 1300) // 7.1
00223 #define K_DEPRECATED __declspec(deprecated)
00224 #else
00225 #define K_DEPRECATED
00226 #endif
00227 #elif defined(__sgi) // SGI compiler
00228 #define K_DEPRECATED
00229 #elif defined(__MWERKS__) // Metrowerks compiler
00230 #define K_DEPRECATED
00231 #else // Unknown compiler
00232 #define K_DEPRECATED
00233 #endif
00234
00235
00236
00237 #ifdef _MSC_VER
00238 #pragma warning(disable: 4514) //unreferenced inline function has been removed (Level 4) optimizer
00239 #pragma warning(disable: 4100) // warning C4100: '?' : unreferenced formal parameter
00240 #pragma warning(disable: 4710) // function not inlined
00241 #endif
00242
00243 #define K_FORWARD( ClassName ) class ClassName; typedef ClassName *H##ClassName;
00244
00245 #endif // #ifndef _Kaydara_h
00246
00247
00248
00249