30 const void*
const prototype )
58 Int_t element_requested = -1;
72 TClass* elemClass =
nullptr;
73 if(
m->IsBasic() ||
m->IsEnum() ) {
75 if(
m->IsEnum() || typnam ==
"Int_t" || typnam ==
"int" )
78 else if( typnam ==
"Double_t" || typnam ==
"double" )
80 else if( typnam ==
"Float_t" || typnam ==
"float" || typnam ==
"Real_t" )
82 else if( typnam ==
"UInt_t" || typnam ==
"unsigned int" )
84 else if( typnam ==
"Short_t" || typnam ==
"short" )
86 else if( typnam ==
"UShort_t" || typnam ==
"unsigned short" )
88 else if( typnam ==
"Long_t" || typnam ==
"long" )
90 else if( typnam ==
"ULong_t" || typnam ==
"unsigned long" )
92 else if( typnam ==
"Char_t" || typnam ==
"Text_t" || typnam ==
"char" )
94 else if( typnam ==
"Byte_t" || typnam ==
"UChar_t" ||
95 typnam ==
"Bool_t" || typnam ==
"bool" || typnam ==
"unsigned char" )
105 if(
m->IsaPointer() )
109 }
else if(
m->IsSTLContainer() ) {
117 if( lbrk ==
kNPOS || rbrk ==
kNPOS || lbrk+1 >= rbrk )
119 typnam = typnam(lbrk+1,rbrk-lbrk-1);
120 if( typnam ==
"Int_t" || typnam ==
"int" )
122 else if( typnam ==
"UInt_t" || typnam ==
"unsigned int" )
124 else if( typnam ==
"Float_t" || typnam ==
"float" || typnam ==
"Real_t" )
126 else if( typnam ==
"Double_t" || typnam ==
"double" )
132 while( nstar < 2 && typnam.
EndsWith(
"*") ) {
138 elemClass =
gROOT->GetClass( typnam );
141 type = ( nstar == 0 ) ? kObjectV : kObjectPV;
145 type = (
m->IsaPointer()) ? kObjectP : kObject;
149 Int_t array_dim =
m->GetArrayDim();
150 const char* array_index =
m->GetArrayIndex();
153 TString subscript( rd->GetName() );
162 if( array_dim > 0 ) {
164 if(
m->IsaPointer() )
169 element_requested = avar[0];
170 for(
Int_t idim = 0; idim < array_dim; ++idim ) {
171 if( avar[idim] >=
m->GetMaxIndex(idim) )
174 element_requested *=
m->GetMaxIndex(idim);
175 element_requested += avar[idim];
183 subscript = subscript(i,subscript.
Length()-i);
187 }
else if( array_index && *array_index &&
m->IsaPointer() ) {
195 if( !
m->GetDataType() )
208 }
else if(
m->IsSTLContainer() ) {
224 if( element_requested >= 0 )
225 fOffset += element_requested *
m->GetUnitSize();
253 name =
name.Strip( TString::kLeading,
'*' );
290 cout <<
" (not initialized)";
296 cout << Vars::GetTypeName(
fType );
301 cout <<
"Array type: ";
304 cout <<
"fixed" << endl;
308 cout <<
"variable" << endl;
312 cout <<
"vector" << endl;
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
static TObject * FindRealDataVar(TList *lrd, const TString &var)
void BuildRealData(void *pointer=nullptr, Bool_t isTransient=kFALSE)
TList * GetListOfRealData() const
Bool_t IsaPointer() const
const char * GetTypeName() const
const char * GetFullTypeName() const
TDataMember * fDataMember
Bool_t IsObjVector() const
void Print(Option_t *opt="") const
TClass * GetClass() const
Int_t Find(TClass *cl, const TString &var, const void *p=nullptr)
virtual TObjLink * FirstLink() const
TObject * GetObject() const
virtual const char * GetName() const
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
const char * Data() const
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const