37 fTypeNameIdx(-1), fTypeNameLen(0)
116 case 1:
return "Char_t";
117 case 2:
return "Short_t";
118 case 3:
return "Int_t";
119 case 4:
return "Long_t";
120 case 5:
return "Float_t";
121 case 6:
return "Int_t";
122 case 7:
return "char*";
123 case 8:
return "Double_t";
124 case 9:
return "Double32_t";
125 case 11:
return "UChar_t";
126 case 12:
return "UShort_t";
127 case 13:
return "UInt_t";
128 case 14:
return "ULong_t";
129 case 15:
return "UInt_t";
130 case 16:
return "Long64_t";
131 case 17:
return "ULong64_t";
132 case 18:
return "Bool_t";
133 case 19:
return "Float16_t";
139 case kchar:
return "Char_t";
156 (
const_cast<TDataType*
>(
this))->CheckInfo();
160 Error(
"GetTypeName",
"Cannot find type name %s in true name %s!",
178 (
const_cast<TDataType*
>(
this))->CheckInfo();
193 if (!strcmp(
typeid(
unsigned int).
name(), typeinfo.name())) {
195 }
else if (!strcmp(
typeid(
int).name(), typeinfo.name())) {
197 }
else if (!strcmp(
typeid(
ULong_t).name(), typeinfo.name())) {
199 }
else if (!strcmp(
typeid(
Long_t).name(), typeinfo.name())) {
201 }
else if (!strcmp(
typeid(
ULong64_t).name(), typeinfo.name())) {
203 }
else if (!strcmp(
typeid(
Long64_t).name(), typeinfo.name())) {
205 }
else if (!strcmp(
typeid(
unsigned short).name(), typeinfo.name())) {
207 }
else if (!strcmp(
typeid(
short).name(), typeinfo.name())) {
209 }
else if (!strcmp(
typeid(
unsigned char).name(), typeinfo.name())) {
211 }
else if (!strcmp(
typeid(
char).name(), typeinfo.name())) {
213 }
else if (!strcmp(
typeid(
Bool_t).name(), typeinfo.name())) {
215 }
else if (!strcmp(
typeid(
float).name(), typeinfo.name())) {
217 }
else if (!strcmp(
typeid(
Float16_t).name(), typeinfo.name())) {
219 }
else if (!strcmp(
typeid(
double).name(), typeinfo.name())) {
221 }
else if (!strcmp(
typeid(
Double32_t).name(), typeinfo.name())) {
223 }
else if (!strcmp(
typeid(
char*).name(), typeinfo.name())) {
225 }
else if (!strcmp(
typeid(
signed char).name(), typeinfo.name())) {
241 (
const_cast<TDataType*
>(
this))->CheckInfo();
248 if (!strcmp(
"unsigned int", name))
249 line.Form(
"%u", *(
unsigned int *)buf);
250 else if (!strcmp(
"unsigned", name))
251 line.Form(
"%u", *(
unsigned int *)buf);
252 else if (!strcmp(
"int", name))
253 line.Form(
"%d", *(
int *)buf);
254 else if (!strcmp(
"unsigned long", name))
256 else if (!strcmp(
"long", name))
258 else if (!strcmp(
"unsigned long long", name))
260 else if (!strcmp(
"ULong64_t", name))
262 else if (!strcmp(
"long long", name))
264 else if (!strcmp(
"Long64_t", name))
266 else if (!strcmp(
"unsigned short", name))
267 line.Form(
"%hu", *(
unsigned short *)buf);
268 else if (!strcmp(
"short", name))
269 line.Form(
"%hd", *(
short *)buf);
270 else if (!strcmp(
"bool", name))
271 line.Form(
"%s", *(
Bool_t *)buf ?
"true" :
"false");
272 else if (!strcmp(
"unsigned char", name) || !strcmp(
"char", name) ) {
274 }
else if (!strcmp(
"float", name))
275 line.Form(
"%g", *(
float *)buf);
276 else if (!strcmp(
"double", name))
277 line.Form(
"%g", *(
double *)buf);
278 else if (!strcmp(
"char*", name))
279 line.Form(
"%s", *(
char**)buf);
304 }
else if (!strcmp(
"unsigned int", name)) {
307 }
else if (!strcmp(
"unsigned", name)) {
310 }
else if (!strcmp(
"int", name)) {
313 }
else if (!strcmp(
"unsigned long", name)) {
316 }
else if (!strcmp(
"long", name)) {
319 }
else if (!strcmp(
"unsigned long long", name) || !strcmp(
"ULong64_t",name)) {
322 }
else if (!strcmp(
"long long", name) || !strcmp(
"Long64_t",name)) {
325 }
else if (!strcmp(
"unsigned short", name)) {
328 }
else if (!strcmp(
"short", name)) {
331 }
else if (!strcmp(
"unsigned char", name)) {
334 }
else if (!strcmp(
"char", name)) {
337 }
else if (!strcmp(
"bool", name)) {
340 }
else if (!strcmp(
"float", name)) {
343 }
else if (!strcmp(
"double", name)) {
346 }
else if (!strcmp(
"signed char", name)) {
351 if (!strcmp(
"Float16_t",
fName.
Data())) {
354 if (!strcmp(
"Double32_t",
fName.
Data())) {
virtual Bool_t TypedefInfo_IsValid(TypedefInfo_t *) const
static TDataType * GetDataType(EDataType type)
Given a EDataType type, get the TDataType* that represents it.
TString GetTypeName()
Get basic type of typedef, e,g.
R__EXTERN TVirtualMutex * gInterpreterMutex
TDictionary & operator=(const TDictionary &other)
virtual void SetName(const char *name)
Set the name of the TNamed.
virtual TypedefInfo_t * TypedefInfo_FactoryCopy(TypedefInfo_t *) const
virtual void TypedefInfo_Delete(TypedefInfo_t *) const
void SetType(const char *name)
Set type id depending on name.
static TDataType * fgBuiltins[kNumDataTypes]
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
virtual const char * TypedefInfo_TrueName(TypedefInfo_t *) const
virtual Long_t TypedefInfo_Property(TypedefInfo_t *) const
virtual ~TDataType()
TDataType dtor deletes adopted CINT TypedefInfo object.
Int_t fSize
pointer to CINT typedef info
virtual void TypedefInfo_Init(TypedefInfo_t *, const char *) const
TDataType(const TDataType &)
copy constructor
Basic data type descriptor (datatype information is obtained from CINT).
This class defines an abstract interface that must be implemented by all classes that contain diction...
Collection abstract base class.
Long_t Property() const
Get property description word. For meaning of bits see EProperty.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
unsigned long long ULong64_t
virtual const char * TypedefInfo_Name(TypedefInfo_t *) const
#define R__LOCKGUARD(mutex)
virtual const char * TypedefInfo_Title(TypedefInfo_t *) const
virtual void Add(TObject *obj)=0
static void AddBuiltins(TCollection *types)
Create the TDataType objects for builtins.
const char * AsString(void *buf) const
Return string containing value in buffer formatted according to the basic data type.
const char * GetFullTypeName() const
Get full type description of typedef, e,g.: "class TDirectory*".
TDataType & operator=(const TDataType &)
assignment operator
Int_t Size() const
Get size of basic typedef'ed type.
void CheckInfo()
Refresh the underlying information.
R__EXTERN TInterpreter * gCling
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
virtual int TypedefInfo_Size(TypedefInfo_t *) const
const char * Data() const