Logo ROOT   6.12/07
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 "RConfig.h"
24 
25 #include <stddef.h> // size_t, NULL
26 
27 //---- Tag used by rootcling to determine constructor used for I/O.
28 
30 
31 //---- types -------------------------------------------------------------------
32 
33 typedef char Char_t; //Signed Character 1 byte (char)
34 typedef unsigned char UChar_t; //Unsigned Character 1 byte (unsigned char)
35 typedef short Short_t; //Signed Short integer 2 bytes (short)
36 typedef unsigned short UShort_t; //Unsigned Short integer 2 bytes (unsigned short)
37 #ifdef R__INT16
38 typedef long Int_t; //Signed integer 4 bytes
39 typedef unsigned long UInt_t; //Unsigned integer 4 bytes
40 #else
41 typedef int Int_t; //Signed integer 4 bytes (int)
42 typedef unsigned int UInt_t; //Unsigned integer 4 bytes (unsigned int)
43 #endif
44 #ifdef R__B64 // Note: Long_t and ULong_t are currently not portable types
45 typedef int Seek_t; //File pointer (int)
46 typedef long Long_t; //Signed long integer 8 bytes (long)
47 typedef unsigned long ULong_t; //Unsigned long integer 8 bytes (unsigned long)
48 #else
49 typedef int Seek_t; //File pointer (int)
50 typedef long Long_t; //Signed long integer 4 bytes (long)
51 typedef unsigned long ULong_t; //Unsigned long integer 4 bytes (unsigned long)
52 #endif
53 typedef float Float_t; //Float 4 bytes (float)
54 typedef float Float16_t; //Float 4 bytes written with a truncated mantissa
55 typedef double Double_t; //Double 8 bytes
56 typedef double Double32_t; //Double 8 bytes in memory, written as a 4 bytes float
57 typedef long double LongDouble_t;//Long Double
58 typedef char Text_t; //General string (char)
59 typedef bool Bool_t; //Boolean (0=false, 1=true) (bool)
60 typedef unsigned char Byte_t; //Byte (8 bits) (unsigned char)
61 typedef short Version_t; //Class version identifier (short)
62 typedef const char Option_t; //Option string (const char)
63 typedef int Ssiz_t; //String size (int)
64 typedef float Real_t; //TVector and TMatrix element type (float)
65 #if defined(R__WIN32) && !defined(__CINT__)
66 typedef __int64 Long64_t; //Portable signed long integer 8 bytes
67 typedef unsigned __int64 ULong64_t; //Portable unsigned long integer 8 bytes
68 #else
69 typedef long long Long64_t; //Portable signed long integer 8 bytes
70 typedef unsigned long long ULong64_t;//Portable unsigned long integer 8 bytes
71 #endif
72 typedef double Axis_t; //Axis values type (double)
73 typedef double Stat_t; //Statistics type (double)
74 
75 typedef short Font_t; //Font number (short)
76 typedef short Style_t; //Style number (short)
77 typedef short Marker_t; //Marker number (short)
78 typedef short Width_t; //Line width (short)
79 typedef short Color_t; //Color number (short)
80 typedef short SCoord_t; //Screen coordinates (short)
81 typedef double Coord_t; //Pad world coordinates (double)
82 typedef float Angle_t; //Graphics angle (float)
83 typedef float Size_t; //Attribute size (float)
84 
85 //---- constants ---------------------------------------------------------------
86 
87 const Bool_t kTRUE = true;
88 const Bool_t kFALSE = false;
89 
90 const Int_t kMaxUChar = 256;
91 const Int_t kMaxChar = kMaxUChar >> 1;
92 const Int_t kMinChar = -kMaxChar - 1;
93 
94 const Int_t kMaxUShort = 65534;
95 const Int_t kMaxShort = kMaxUShort >> 1;
96 const Int_t kMinShort = -kMaxShort - 1;
97 
98 const UInt_t kMaxUInt = UInt_t(~0);
99 const Int_t kMaxInt = Int_t(kMaxUInt >> 1);
100 const Int_t kMinInt = -kMaxInt - 1;
101 
104 const Long_t kMinLong = -kMaxLong - 1;
105 
109 
110 const size_t kBitsPerByte = 8;
111 const Ssiz_t kNPOS = ~(Ssiz_t)0;
112 
113 #endif
const UInt_t kMaxUInt
Definition: RtypesCore.h:98
const Int_t kMinShort
Definition: RtypesCore.h:96
long long Long64_t
Definition: RtypesCore.h:69
short Style_t
Definition: RtypesCore.h:76
short Version_t
Definition: RtypesCore.h:61
float Float_t
Definition: RtypesCore.h:53
float Size_t
Definition: RtypesCore.h:83
const char Option_t
Definition: RtypesCore.h:62
const Ssiz_t kNPOS
Definition: RtypesCore.h:111
double Axis_t
Definition: RtypesCore.h:72
unsigned short UShort_t
Definition: RtypesCore.h:36
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
short Font_t
Definition: RtypesCore.h:75
const Int_t kMaxUChar
Definition: RtypesCore.h:90
const ULong_t kMaxULong
Definition: RtypesCore.h:102
float Float16_t
Definition: RtypesCore.h:54
const Int_t kMinInt
Definition: RtypesCore.h:100
unsigned char Byte_t
Definition: RtypesCore.h:60
short SCoord_t
Definition: RtypesCore.h:80
short Marker_t
Definition: RtypesCore.h:77
double Double32_t
Definition: RtypesCore.h:56
short Color_t
Definition: RtypesCore.h:79
float Angle_t
Definition: RtypesCore.h:82
const Long64_t kMinLong64
Definition: RtypesCore.h:108
const Int_t kMinChar
Definition: RtypesCore.h:92
double Coord_t
Definition: RtypesCore.h:81
unsigned int UInt_t
Definition: RtypesCore.h:42
short Short_t
Definition: RtypesCore.h:35
long double LongDouble_t
Definition: RtypesCore.h:57
const Long_t kMaxLong
Definition: RtypesCore.h:103
short Width_t
Definition: RtypesCore.h:78
const Bool_t kFALSE
Definition: RtypesCore.h:88
const Int_t kMaxShort
Definition: RtypesCore.h:95
long Long_t
Definition: RtypesCore.h:50
int Ssiz_t
Definition: RtypesCore.h:63
double Double_t
Definition: RtypesCore.h:55
const Int_t kMaxChar
Definition: RtypesCore.h:91
unsigned long long ULong64_t
Definition: RtypesCore.h:70
unsigned long ULong_t
Definition: RtypesCore.h:51
const Long64_t kMaxLong64
Definition: RtypesCore.h:107
double Stat_t
Definition: RtypesCore.h:73
char Char_t
Definition: RtypesCore.h:29
float Real_t
Definition: RtypesCore.h:64
int Seek_t
Definition: RtypesCore.h:49
const Int_t kMaxInt
Definition: RtypesCore.h:99
const size_t kBitsPerByte
Definition: RtypesCore.h:110
char Text_t
Definition: RtypesCore.h:58
const ULong64_t kMaxULong64
Definition: RtypesCore.h:106
unsigned char UChar_t
Definition: RtypesCore.h:34
const Bool_t kTRUE
Definition: RtypesCore.h:87
const Int_t kMaxUShort
Definition: RtypesCore.h:94
const Long_t kMinLong
Definition: RtypesCore.h:104