12 #ifndef ROOT_TDataType
13 #define ROOT_TDataType
29 kChar_t = 1, kUChar_t = 11, kShort_t = 2, kUShort_t = 12,
30 kInt_t = 3, kUInt_t = 13, kLong_t = 4, kULong_t = 14,
31 kFloat_t = 5, kDouble_t = 8, kDouble32_t = 9, kchar = 10,
32 kBool_t = 18, kLong64_t = 16, kULong64_t = 17, kOther_t = -1,
33 kNoType_t = 0, kFloat16_t= 19,
34 kCounter = 6, kCharStar = 7, kBits = 15 ,
37 kDataTypeAliasUnsigned_t = 21,
38 kDataTypeAliasSignedChar_t = 22,
44 class TDataType :
public TDictionary {
54 static TDataType* fgBuiltins[kNumDataTypes];
57 void SetType(
const char *name);
60 TDataType(
const TDataType&);
61 TDataType& operator=(
const TDataType&);
64 TDataType(TypedefInfo_t *info = 0);
65 TDataType(
const char *typenam);
68 Int_t GetType()
const {
return (Int_t)fType; }
69 TString GetTypeName();
70 const char *GetFullTypeName()
const;
71 const char *AsString(
void *buf)
const;
72 Long_t Property()
const;
74 static const char *GetTypeName(EDataType type);
75 static TDataType *GetDataType(EDataType type);
76 static EDataType GetType(
const std::type_info &typeinfo);
77 static void AddBuiltins(TCollection* types);