Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
config.h
Go to the documentation of this file.
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 */
9namespace cheprep {
10
11#if defined(WIN32) && !defined(GNU_GCC)
12
13// WIN32 and NOT GNU_GCC
14typedef __int64 int64;
15typedef 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
23typedef long int64;
24typedef unsigned long uint64;
25#define CHEPREP_INT64_FORMAT "%ld"
26#define CHEPREP_UINT64_FORMAT "%uld"
27
28#else
29
30// 32-Bit Platforms
31typedef long long int64;
32typedef 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
std::ostream & operator<<(std::ostream &out, const G4CellScoreComposer &ps)
long long int64
Definition: config.h:31
unsigned long long uint64
Definition: config.h:32