1 | // Copyright FreeHEP, 2005. |
---|
2 | #ifndef CHEPREP_CONFIG_H |
---|
3 | #define CHEPREP_CONFIG_H 1 |
---|
4 | |
---|
5 | /** |
---|
6 | * @author Mark Donszelmann |
---|
7 | * @version $Id: config.h,v 1.4 2005/06/02 21:28:45 duns Exp $ |
---|
8 | */ |
---|
9 | namespace cheprep { |
---|
10 | |
---|
11 | #if defined(WIN32) && !defined(GNU_GCC) |
---|
12 | |
---|
13 | // WIN32 and NOT GNU_GCC |
---|
14 | typedef __int64 int64; |
---|
15 | typedef unsigned __int64 uint64; |
---|
16 | #define CHEPREP_INT64_FORMAT "%ld" |
---|
17 | #define CHEPREP_UINT64_FORMAT "%uld" |
---|
18 | |
---|
19 | #else // other than WIN32-MSVC |
---|
20 | #if defined(_LP64) |
---|
21 | |
---|
22 | // 64 Bit Platforms |
---|
23 | typedef long int64; |
---|
24 | typedef unsigned long uint64; |
---|
25 | #define CHEPREP_INT64_FORMAT "%ld" |
---|
26 | #define CHEPREP_UINT64_FORMAT "%uld" |
---|
27 | |
---|
28 | #else |
---|
29 | |
---|
30 | // 32-Bit Platforms |
---|
31 | typedef long long int64; |
---|
32 | typedef unsigned long long uint64; |
---|
33 | #define CHEPREP_INT64_FORMAT "%lld" |
---|
34 | #define CHEPREP_UINT64_FORMAT "%ulld" |
---|
35 | |
---|
36 | #endif // 32-Bit Platforms |
---|
37 | #endif // other than WIN32-MSVC |
---|
38 | |
---|
39 | } // namespace cheprep |
---|
40 | |
---|
41 | #ifdef WIN32 |
---|
42 | #ifndef GNU_GCC |
---|
43 | // Disable warning C4786: identifier was truncated to '255' characters in the debug information |
---|
44 | #pragma warning ( disable : 4786 ) |
---|
45 | // Disable warning C4250: inherits via dominance |
---|
46 | #pragma warning ( disable : 4250 ) |
---|
47 | #ifdef VC6 |
---|
48 | // FIX for KB 168440 - VC6 |
---|
49 | // Stream Operator << Cannot Handle __int64 Type |
---|
50 | #include<iostream> |
---|
51 | |
---|
52 | inline std::ostream& operator<<(std::ostream& os, __int64 i ) { |
---|
53 | char buf[20]; |
---|
54 | sprintf(buf,"%I64d", i ); |
---|
55 | os << buf; |
---|
56 | return os; |
---|
57 | } |
---|
58 | #endif // VC6 |
---|
59 | #endif // GNU_GCC |
---|
60 | #endif // WIN32 |
---|
61 | |
---|
62 | |
---|
63 | #endif // CHEPREP_CONFIG_H |
---|