Logo ROOT  
Reference Guide
RtypesCore.h
Go to the documentation of this file.
1 /* @(#)root/base:$Id$ */
2 
3 /*************************************************************************
4  * Copyright (C) 1995-2014, Rene Brun and Fons Rademakers. *
5  * All rights reserved. *
6  * *
7  * For the licensing terms see $ROOTSYS/LICENSE. *
8  * For the list of contributors see $ROOTSYS/README/CREDITS. *
9  *************************************************************************/
10 
11 #ifndef ROOT_RtypesCore
12 #define ROOT_RtypesCore
13 
14 //////////////////////////////////////////////////////////////////////////
15 // //
16 // RtypesCore //
17 // //
18 // Basic types used by ROOT and required by TInterpreter. //
19 // //
20 //////////////////////////////////////////////////////////////////////////
21 
22 
23 #include <ROOT/RConfig.hxx>
24 
25 #include "DllImport.h"
26 
27 #ifndef R__LESS_INCLUDES
28 #include <cstddef> // size_t, NULL
29 #endif
30 
31 //---- Tag used by rootcling to determine constructor used for I/O.
32 
33 class TRootIOCtor;
34 
35 //---- types -------------------------------------------------------------------
36 
37 typedef char Char_t; //Signed Character 1 byte (char)
38 typedef unsigned char UChar_t; //Unsigned Character 1 byte (unsigned char)
39 typedef short Short_t; //Signed Short integer 2 bytes (short)
40 typedef unsigned short UShort_t; //Unsigned Short integer 2 bytes (unsigned short)
41 #ifdef R__INT16
42 typedef long Int_t; //Signed integer 4 bytes
43 typedef unsigned long UInt_t; //Unsigned integer 4 bytes
44 #else
45 typedef int Int_t; //Signed integer 4 bytes (int)
46 typedef unsigned int UInt_t; //Unsigned integer 4 bytes (unsigned int)
47 #endif
48 #ifdef R__B64 // Note: Long_t and ULong_t are currently not portable types
49 typedef int Seek_t; //File pointer (int)
50 typedef long Long_t; //Signed long integer 8 bytes (long)
51 typedef unsigned long ULong_t; //Unsigned long integer 8 bytes (unsigned long)
52 #else
53 typedef int Seek_t; //File pointer (int)
54 typedef long Long_t; //Signed long integer 4 bytes (long)
55 typedef unsigned long ULong_t; //Unsigned long integer 4 bytes (unsigned long)
56 #endif
57 typedef float Float_t; //Float 4 bytes (float)
58 typedef float Float16_t; //Float 4 bytes written with a truncated mantissa
59 typedef double Double_t; //Double 8 bytes
60 typedef double Double32_t; //Double 8 bytes in memory, written as a 4 bytes float
61 typedef long double LongDouble_t;//Long Double
62 typedef char Text_t; //General string (char)
63 typedef bool Bool_t; //Boolean (0=false, 1=true) (bool)
64 typedef unsigned char Byte_t; //Byte (8 bits) (unsigned char)
65 typedef short Version_t; //Class version identifier (short)
66 typedef const char Option_t; //Option string (const char)
67 typedef int Ssiz_t; //String size (int)
68 typedef float Real_t; //TVector and TMatrix element type (float)
69 #if defined(R__WIN32) && !defined(__CINT__)
70 typedef __int64 Long64_t; //Portable signed long integer 8 bytes
71 typedef unsigned __int64 ULong64_t; //Portable unsigned long integer 8 bytes
72 #ifdef _WIN64
73 typedef long long Longptr_t; //Integer large enough to hold a pointer
74 typedef unsigned long long ULongptr_t; //Unsigned integer large enough to hold a pointer
75 #else
76 typedef long Longptr_t; //Integer large enough to hold a pointer
77 typedef unsigned long ULongptr_t; //Unsigned integer large enough to hold a pointer
78 #endif
79 #else
80 typedef long long Long64_t; //Portable signed long integer 8 bytes
81 typedef unsigned long long ULong64_t;//Portable unsigned long integer 8 bytes
82 typedef long Longptr_t;
83 typedef unsigned long ULongptr_t;
84 #endif
85 typedef double Axis_t; //Axis values type (double)
86 typedef double Stat_t; //Statistics type (double)
87 
88 typedef short Font_t; //Font number (short)
89 typedef short Style_t; //Style number (short)
90 typedef short Marker_t; //Marker number (short)
91 typedef short Width_t; //Line width (short)
92 typedef short Color_t; //Color number (short)
93 typedef short SCoord_t; //Screen coordinates (short)
94 typedef double Coord_t; //Pad world coordinates (double)
95 typedef float Angle_t; //Graphics angle (float)
96 typedef float Size_t; //Attribute size (float)
97 
98 //---- constants ---------------------------------------------------------------
99 
100 const Bool_t kTRUE = true;
101 const Bool_t kFALSE = false;
102 
103 const Int_t kMaxUChar = 256;
104 const Int_t kMaxChar = kMaxUChar >> 1;
105 const Int_t kMinChar = -kMaxChar - 1;
106 
107 const Int_t kMaxUShort = 65534;
109 const Int_t kMinShort = -kMaxShort - 1;
110 
111 const UInt_t kMaxUInt = UInt_t(~0);
112 const Int_t kMaxInt = Int_t(kMaxUInt >> 1);
113 const Int_t kMinInt = -kMaxInt - 1;
114 
117 const Long_t kMinLong = -kMaxLong - 1;
118 
122 
124 const Ssiz_t kNPOS = ~(Ssiz_t)0;
125 
126 //---- debug global ------------------------------------------------------------
127 
129 
130 
131 #endif
kMaxUInt
const UInt_t kMaxUInt
Definition: RtypesCore.h:111
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:100
Style_t
short Style_t
Definition: RtypesCore.h:89
kMinShort
const Int_t kMinShort
Definition: RtypesCore.h:109
Version_t
short Version_t
Definition: RtypesCore.h:65
Option_t
const char Option_t
Definition: RtypesCore.h:66
kNPOS
const Ssiz_t kNPOS
Definition: RtypesCore.h:124
UShort_t
unsigned short UShort_t
Definition: RtypesCore.h:40
kMaxUChar
const Int_t kMaxUChar
Definition: RtypesCore.h:103
Axis_t
double Axis_t
Definition: RtypesCore.h:85
Long64_t
long long Long64_t
Definition: RtypesCore.h:80
Float_t
float Float_t
Definition: RtypesCore.h:57
Int_t
int Int_t
Definition: RtypesCore.h:45
kMinInt
const Int_t kMinInt
Definition: RtypesCore.h:113
Font_t
short Font_t
Definition: RtypesCore.h:88
Byte_t
unsigned char Byte_t
Definition: RtypesCore.h:64
kMaxULong
const ULong_t kMaxULong
Definition: RtypesCore.h:115
RConfig.hxx
Bool_t
bool Bool_t
Definition: RtypesCore.h:63
Color_t
short Color_t
Definition: RtypesCore.h:92
Angle_t
float Angle_t
Definition: RtypesCore.h:95
SCoord_t
short SCoord_t
Definition: RtypesCore.h:93
Marker_t
short Marker_t
Definition: RtypesCore.h:90
Coord_t
double Coord_t
Definition: RtypesCore.h:94
Float16_t
float Float16_t
Definition: RtypesCore.h:58
ULongptr_t
unsigned long ULongptr_t
Definition: RtypesCore.h:83
kMinLong64
const Long64_t kMinLong64
Definition: RtypesCore.h:121
kMinChar
const Int_t kMinChar
Definition: RtypesCore.h:105
kMaxLong
const Long_t kMaxLong
Definition: RtypesCore.h:116
Width_t
short Width_t
Definition: RtypesCore.h:91
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:101
Double32_t
double Double32_t
Definition: RtypesCore.h:60
TRootIOCtor
Definition: TRootIOCtor.h:33
gDebug
R__EXTERN Int_t gDebug
Definition: RtypesCore.h:128
Long_t
long Long_t
Definition: RtypesCore.h:54
UInt_t
unsigned int UInt_t
Definition: RtypesCore.h:46
ULong_t
unsigned long ULong_t
Definition: RtypesCore.h:55
Short_t
short Short_t
Definition: RtypesCore.h:39
kMaxShort
const Int_t kMaxShort
Definition: RtypesCore.h:108
Ssiz_t
int Ssiz_t
Definition: RtypesCore.h:67
Longptr_t
long Longptr_t
Definition: RtypesCore.h:82
ULong64_t
unsigned long long ULong64_t
Definition: RtypesCore.h:81
LongDouble_t
long double LongDouble_t
Definition: RtypesCore.h:61
Double_t
double Double_t
Definition: RtypesCore.h:59
kMaxChar
const Int_t kMaxChar
Definition: RtypesCore.h:104
kMaxLong64
const Long64_t kMaxLong64
Definition: RtypesCore.h:120
UChar_t
unsigned char UChar_t
Definition: RtypesCore.h:38
kMaxInt
const Int_t kMaxInt
Definition: RtypesCore.h:112
kBitsPerByte
const ULong_t kBitsPerByte
Definition: RtypesCore.h:123
R__EXTERN
#define R__EXTERN
Definition: DllImport.h:27
kMaxULong64
const ULong64_t kMaxULong64
Definition: RtypesCore.h:119
kMinLong
const Long_t kMinLong
Definition: RtypesCore.h:117
Stat_t
double Stat_t
Definition: RtypesCore.h:86
Text_t
char Text_t
Definition: RtypesCore.h:62
Char_t
char Char_t
Definition: RtypesCore.h:33
Real_t
float Real_t
Definition: RtypesCore.h:68
DllImport.h
kMaxUShort
const Int_t kMaxUShort
Definition: RtypesCore.h:107
Seek_t
int Seek_t
Definition: RtypesCore.h:53
Size_t
float Size_t
Definition: RtypesCore.h:96