Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

Kernel.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiKernel/GaudiKernel/Kernel.h,v 1.1.1.1 2001/04/18 18:14:18 tlindner 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   #define LONGLONG_MAX 0x7FFFFFFFFFFFFFFF
00020   #define LONGLONG_MIN 0x8000000000000000
00021 #elif defined(__linux) || defined(sun)
00022   typedef long long int longlong;
00023   #define LONGLONG_MAX 0x7FFFFFFFFFFFFFFFLL
00024   #define LONGLONG_MIN 0x8000000000000000LL
00025 #else
00026   // This will not really work !!
00027   struct __longlong { public: long __data[2]; };
00028   typedef __longlong longlong;
00029 #endif    // linux
00030 
00031 #ifdef WIN32
00032   #define TEMPLATE_SPECIALIZATION template <>
00033 #elif defined(__linux)
00034   #if __GNUC_MINOR__ > 91
00035    #define TEMPLATE_SPECIALIZATION
00036   #else
00037     #define TEMPLATE_SPECIALIZATION template <>
00038   #endif
00039 #elif defined(sun)
00040    #define TEMPLATE_SPECIALIZATION
00041 #endif
00042   
00043 
00044 #endif  // GAUDIKERNEL_KERNEL_H

Generated at Wed Nov 21 12:22:04 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000