Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RtypesCore.h
Go to the documentation of this file.
1/* @(#)root/foundation:$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
33class TRootIOCtor;
34
35//---- types -------------------------------------------------------------------
36
37typedef char Char_t; //Signed Character 1 byte (char)
38typedef unsigned char UChar_t; //Unsigned Character 1 byte (unsigned char)
39typedef short Short_t; //Signed Short integer 2 bytes (short)
40typedef unsigned short UShort_t; //Unsigned Short integer 2 bytes (unsigned short)
41#ifdef R__INT16
42typedef long Int_t; //Signed integer 4 bytes
43typedef unsigned long UInt_t; //Unsigned integer 4 bytes
44#else
45typedef int Int_t; //Signed integer 4 bytes (int)
46typedef 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
49typedef int Seek_t; //File pointer (int)
50typedef long Long_t; //Signed long integer 8 bytes (long)
51typedef unsigned long ULong_t; //Unsigned long integer 8 bytes (unsigned long)
52#else
53typedef int Seek_t; //File pointer (int)
54typedef long Long_t; //Signed long integer 4 bytes (long)
55typedef unsigned long ULong_t; //Unsigned long integer 4 bytes (unsigned long)
56#endif
57typedef float Float_t; //Float 4 bytes (float)
58typedef float Float16_t; //Float 4 bytes written with a truncated mantissa
59typedef double Double_t; //Double 8 bytes
60typedef double Double32_t; //Double 8 bytes in memory, written as a 4 bytes float
61typedef long double LongDouble_t;//Long Double
62typedef char Text_t; //General string (char)
63typedef bool Bool_t; //Boolean (0=false, 1=true) (bool)
64typedef unsigned char Byte_t; //Byte (8 bits) (unsigned char)
65typedef short Version_t; //Class version identifier (short)
66typedef const char Option_t; //Option string (const char)
67typedef int Ssiz_t; //String size (int)
68typedef float Real_t; //TVector and TMatrix element type (float)
69#if defined(R__WIN32) && !defined(__CINT__)
70typedef __int64 Long64_t; //Portable signed long integer 8 bytes
71typedef unsigned __int64 ULong64_t; //Portable unsigned long integer 8 bytes
72#ifdef _WIN64
73typedef long long Longptr_t; //Integer large enough to hold a pointer
74typedef unsigned long long ULongptr_t; //Unsigned integer large enough to hold a pointer
75#else
76typedef long Longptr_t; //Integer large enough to hold a pointer
77typedef unsigned long ULongptr_t; //Unsigned integer large enough to hold a pointer
78#endif
79#else
80typedef long long Long64_t; //Portable signed long integer 8 bytes
81typedef unsigned long long ULong64_t;//Portable unsigned long integer 8 bytes
82typedef long Longptr_t;
83typedef unsigned long ULongptr_t;
84#endif
85typedef double Axis_t; //Axis values type (double)
86typedef double Stat_t; //Statistics type (double)
87
88typedef short Font_t; //Font number (short)
89typedef short Style_t; //Style number (short)
90typedef short Marker_t; //Marker number (short)
91typedef short Width_t; //Line width (short)
92typedef short Color_t; //Color number (short)
93typedef short SCoord_t; //Screen coordinates (short)
94typedef double Coord_t; //Pad world coordinates (double)
95typedef float Angle_t; //Graphics angle (float)
96typedef float Size_t; //Attribute size (float)
97
98//---- constants ---------------------------------------------------------------
99
100constexpr Bool_t kTRUE = true;
101constexpr Bool_t kFALSE = false;
102
103constexpr Int_t kMaxUChar = 256;
104constexpr Int_t kMaxChar = kMaxUChar >> 1;
105constexpr Int_t kMinChar = -kMaxChar - 1;
106
107constexpr Int_t kMaxUShort = 65534;
108constexpr Int_t kMaxShort = kMaxUShort >> 1;
109constexpr Int_t kMinShort = -kMaxShort - 1;
110
111constexpr UInt_t kMaxUInt = UInt_t(~0);
112constexpr Int_t kMaxInt = Int_t(kMaxUInt >> 1);
113constexpr Int_t kMinInt = -kMaxInt - 1;
114
115constexpr ULong_t kMaxULong = ULong_t(~0);
116constexpr Long_t kMaxLong = Long_t(kMaxULong >> 1);
117constexpr Long_t kMinLong = -kMaxLong - 1;
118
122
123constexpr ULong_t kBitsPerByte = 8;
124constexpr Ssiz_t kNPOS = ~(Ssiz_t)0;
125
126//---- debug global ------------------------------------------------------------
127
129
130
131#endif
#define R__EXTERN
Definition DllImport.h:27
short Style_t
Definition RtypesCore.h:89
float Float16_t
Definition RtypesCore.h:58
constexpr Long64_t kMaxLong64
Definition RtypesCore.h:120
double Coord_t
Definition RtypesCore.h:94
constexpr Long_t kMaxLong
Definition RtypesCore.h:116
bool Bool_t
Definition RtypesCore.h:63
unsigned short UShort_t
Definition RtypesCore.h:40
constexpr Long_t kMinLong
Definition RtypesCore.h:117
constexpr Int_t kMaxChar
Definition RtypesCore.h:104
constexpr ULong64_t kMaxULong64
Definition RtypesCore.h:119
int Int_t
Definition RtypesCore.h:45
unsigned char Byte_t
Definition RtypesCore.h:64
double Double32_t
Definition RtypesCore.h:60
constexpr ULong_t kMaxULong
Definition RtypesCore.h:115
short Color_t
Definition RtypesCore.h:92
constexpr Int_t kMaxUChar
Definition RtypesCore.h:103
constexpr Int_t kMaxUShort
Definition RtypesCore.h:107
constexpr Int_t kMaxInt
Definition RtypesCore.h:112
float Size_t
Definition RtypesCore.h:96
char Text_t
Definition RtypesCore.h:62
long Longptr_t
Definition RtypesCore.h:82
float Angle_t
Definition RtypesCore.h:95
short Version_t
Definition RtypesCore.h:65
Int_t gDebug
Definition TROOT.cxx:595
unsigned char UChar_t
Definition RtypesCore.h:38
int Ssiz_t
Definition RtypesCore.h:67
constexpr ULong_t kBitsPerByte
Definition RtypesCore.h:123
char Char_t
Definition RtypesCore.h:37
short Marker_t
Definition RtypesCore.h:90
constexpr Int_t kMinInt
Definition RtypesCore.h:113
float Real_t
Definition RtypesCore.h:68
int Seek_t
Definition RtypesCore.h:53
unsigned long ULong_t
Definition RtypesCore.h:55
long Long_t
Definition RtypesCore.h:54
unsigned int UInt_t
Definition RtypesCore.h:46
constexpr Int_t kMaxShort
Definition RtypesCore.h:108
unsigned long ULongptr_t
Definition RtypesCore.h:83
short Width_t
Definition RtypesCore.h:91
float Float_t
Definition RtypesCore.h:57
short Font_t
Definition RtypesCore.h:88
double Axis_t
Definition RtypesCore.h:85
short Short_t
Definition RtypesCore.h:39
constexpr UInt_t kMaxUInt
Definition RtypesCore.h:111
constexpr Bool_t kFALSE
Definition RtypesCore.h:101
double Double_t
Definition RtypesCore.h:59
short SCoord_t
Definition RtypesCore.h:93
long double LongDouble_t
Definition RtypesCore.h:61
double Stat_t
Definition RtypesCore.h:86
constexpr Long64_t kMinLong64
Definition RtypesCore.h:121
constexpr Ssiz_t kNPOS
Definition RtypesCore.h:124
long long Long64_t
Definition RtypesCore.h:80
constexpr Int_t kMinChar
Definition RtypesCore.h:105
constexpr Int_t kMinShort
Definition RtypesCore.h:109
unsigned long long ULong64_t
Definition RtypesCore.h:81
constexpr Bool_t kTRUE
Definition RtypesCore.h:100
const char Option_t
Definition RtypesCore.h:66