#ifndef ROOT_TDataType #define ROOT_TDataType //+SEQ,CopyRight,T=NOINCLUDE. ////////////////////////////////////////////////////////////////////////// // // // TDataType // // // // Basic data type descriptor (datatype information is obtained from // // CINT). // // // ////////////////////////////////////////////////////////////////////////// #ifndef ROOT_TDictionary //*KEEP,TDictionary. #include "TDictionary.h" //*KEND. #endif #ifndef ROOT_TString //*KEEP,TString. #include "TString.h" //*KEND. #endif enum EDataType { kChar_t = 1, kUChar_t = 11, kShort_t = 2, kUShort_t = 12, kInt_t = 3, kUInt_t = 13, kLong_t = 4, kULong_t = 14, kFloat_t = 5, kDouble_t = 8, kText_t = 10, kOther_t = -1 }; class G__TypedefInfo; class TDataType : public TDictionary { private: G__TypedefInfo *fInfo; //pointer to CINT typedef info TString fName; //name of basic type Int_t fSize; //size of basic type (in case fInfo==0) EDataType fType; //type id void SetType(const char *name); public: TDataType(G__TypedefInfo *info = 0); TDataType(const char *typenam); virtual ~TDataType(); Int_t Size() const; Int_t GetType() const { return (Int_t)fType; } const char *GetTypeName() const; const char *GetFullTypeName() const; const char *GetName() const; const char *GetTitle() const; Int_t Compare(TObject *obj); ULong_t Hash(); const char *AsString(void *buf) const; Long_t Property() const; ClassDef(TDataType,0) //Basic data type descriptor }; #endif