| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Kernel.h

Go to the documentation of this file.
00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/Kernel.h,v 1.15 2006/05/02 13:03:03 hmd Exp $
00002 #ifndef GAUDIKERNEL_KERNEL_H
00003 #define GAUDIKERNEL_KERNEL_H
00004 
00005 // Some pragmas to avoid warnings in VisualC
00006 #ifdef _WIN32
00007   // Disable warning C4786: identifier was truncated to '255' characters in the debug information
00008   #pragma warning ( disable : 4786 )
00009   // Disable warning C4291: no matching operator delete found; memory will not be freed if initialization throws an exception
00010   #pragma warning ( disable : 4291 )
00011   // Disable warning C4250: inheritance via dominance
00012   #pragma warning ( disable : 4250 )
00013 #endif
00014 
00015 
00016 // Large integer definition depends of the platform
00017 #ifdef _WIN32
00018   typedef __int64 longlong;
00019   #ifndef LONGLONG_MAX
00020     #define LONGLONG_MAX 0x7FFFFFFFFFFFFFFFLL
00021   #endif
00022   #ifndef LONGLONG_MIN
00023     #define LONGLONG_MIN 0x8000000000000000LL
00024   #endif
00025 
00026   typedef unsigned __int64 ulonglong;
00027   #ifndef ULONGLONG_MAX
00028     #define ULONGLONG_MAX 0xFFFFFFFFFFFFFFFFLL
00029   #endif
00030   #ifndef ULONGLONG_MIN
00031     #define ULONGLONG_MIN 0x0000000000000000LL
00032   #endif
00033 #elif defined(__linux) || defined(__APPLE__)
00034   typedef long long int longlong;
00035   #ifndef LONGLONG_MAX
00036     #define LONGLONG_MAX 0x7FFFFFFFFFFFFFFFLL
00037   #endif
00038   #ifndef LONGLONG_MIN
00039     #define LONGLONG_MIN 0x8000000000000000LL
00040   #endif
00041   typedef unsigned long long int ulonglong;
00042   #ifndef ULONGLONG_MAX
00043     #define ULONGLONG_MAX 0xfFFFFFFFFFFFFFFFLL
00044   #endif
00045   #ifndef ULONGLONG_MIN
00046     #define ULONGLONG_MIN 0x0000000000000000LL
00047   #endif
00048 #else
00049   // This will not really work !!
00050   struct __longlong { public: long __data[2]; };
00051   typedef __longlong longlong;
00052   typedef __longlong ulonglong;
00053   static const __longlong LONGLONG_MAX = {0x7FFFFFFF, 0xFFFFFFFF};
00054   static const __longlong LONGLONG_MIN = {0x80000000, 0x00000000};
00055   static const __ulonglong ULONGLONG_MAX = {0xFFFFFFFF, 0xFFFFFFFF};
00056   static const __ulonglong ULONGLONG_MIN = {0x00000000, 0x00000000};
00057 #endif    // linux
00058 
00059 #ifdef _WIN32
00060   #define TEMPLATE_SPECIALIZATION template <>
00061 #elif defined(__linux) || defined(__APPLE__)
00062   #define TEMPLATE_SPECIALIZATION
00063 #endif
00064   
00065 
00066 #endif  // GAUDIKERNEL_KERNEL_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:56:58 2011 for GaudiKernel by doxygen 1.4.7