FRIBParallelanalysis  1.0
FrameworkforMPIParalleldataanalysisatFRIB
libtclplusdatatypes.h
1 /*
2  This software is Copyright by the Board of Trustees of Michigan
3  State University (c) Copyright 2005.
4 
5  You may use this software under the terms of the GNU public license
6  (GPL). The terms of this license are described at:
7 
8  http://www.gnu.org/licenses/gpl.txt
9 
10  Author:
11  Ron Fox
12  NSCL
13  Michigan State University
14  East Lansing, MI 48824-1321
15 */
16 
17 
18 /*
19 **++
20 ** FACILITY:
21 **
22 ** Data types
23 **
24 ** ABSTRACT:
25 **
26 ** Data types for the host processor.
27 **
28 ** AUTHORS:
29 **
30 ** Ron Fox
31 **
32 **
33 ** CREATION DATE: 7-Oct-1987
34 **
35 ** MODIFICATION HISTORY:
36 **--
37 **/
38 
39 #ifndef TCLPLUSTYPES_H
40 #define TCLPLUSTYPES_H
41 
42 
43 #include <sys/types.h>
44 
45 #if __cplusplus
46 #if __cplusplus > 199711L // i.e. C++98
47 // stdint.h is deprecated as of C++11 in favor of <cstdint>
48 // The difference is that the types are brought into the std namespace.
49 // We can mimic the old behavior by including cstdint and then bringing
50 // them into the global scope with the using operator. This is a kludge
51 // but is the best solution for the moment.
52 
53 #include <cstdint>
54 using std::int8_t;
55 using std::uint8_t;
56 using std::int16_t;
57 using std::uint16_t;
58 using std::int32_t;
59 using std::uint32_t;
60 using std::int64_t;
61 using std::uint64_t;
62 #else
63 // When compiled with a C++ compiler that is not C++11 compatible
64 // cstdint does not exist. Furthermore, stdint.h only includes the
65 // limit macros if __STDC_LIMIT_MACROS variables is defined.
66 #define __STDC_LIMIT_MACROS
67 #include <stdint.h>
68 #endif /* __cplusplus */
69 #else
70 // macros are part of the c standard
71 # include <stdint.h>
72 #endif /* C++ or C */
73 
74 
75 namespace TCLPLUS {
76 
77  typedef int Int_t;
78  typedef unsigned int UInt_t;
79 
80  typedef short Short_t;
81  typedef unsigned short UShort_t;
82 
83  typedef long Long_t;
84  typedef unsigned long ULong_t;
85 
86  typedef float Float_t;
87  typedef double DFloat_t;
88 
89 
90 
91  typedef char Char_t;
92  typedef unsigned char UChar_t;
93 
94  typedef char (*Textsz_t); // Null terminated string.
95  typedef UInt_t Size_t;
96 
97  typedef void (*Address_t); // Typical pointer.
98 
99  static const Address_t kpNULL = (Address_t)0; // Null pointer.
100 
101 
102  typedef UChar_t Bool_t;
103  static const Bool_t kfTRUE = 0xff; // TRUE boolean.
104  static const Bool_t kfFALSE= 0; // FALSE boolean.
105 
106 }
107 
108 #define __DAQTYPES_H
109 #endif
Definition: libtclplusdatatypes.h:75