12 #ifndef ROOT_TDataMember
13 #define ROOT_TDataMember
31 class TDataMember :
public TDictionary {
35 kObjIsPersistent = BIT(2)
38 DataMemberInfo_t *fInfo;
46 Int_t *fArrayMaxIndex;
50 TString fFullTypeName;
51 TString fTrueTypeName;
56 TMethodCall *fValueGetter;
57 TMethodCall *fValueSetter;
60 void Init(
bool afterReading);
63 TDataMember(
const TDataMember&);
64 TDataMember& operator=(
const TDataMember&);
68 TDataMember(DataMemberInfo_t *info = 0, TClass *cl = 0);
69 virtual ~TDataMember();
70 Int_t GetArrayDim()
const;
71 DeclId_t GetDeclId()
const;
72 Int_t GetMaxIndex(Int_t dim)
const;
73 TClass *GetClass()
const {
return fClass; }
74 TDataType *GetDataType()
const {
return fDataType; }
75 Long_t GetOffset()
const;
76 Long_t GetOffsetCint()
const;
77 const char *GetTypeName()
const;
78 const char *GetFullTypeName()
const;
79 const char *GetTrueTypeName()
const;
80 const char *GetArrayIndex()
const;
81 Int_t GetUnitSize()
const;
82 TList *GetOptions()
const;
83 TMethodCall *SetterMethod(TClass *cl);
84 TMethodCall *GetterMethod(TClass *cl = 0);
86 Bool_t IsBasic()
const;
87 Bool_t IsEnum()
const;
88 Bool_t IsaPointer()
const;
89 Bool_t IsPersistent()
const {
return TestBit(kObjIsPersistent); }
90 Int_t IsSTLContainer();
92 Long_t Property()
const;
93 void SetClass(TClass* cl) { fClass = cl; }
94 virtual bool Update(DataMemberInfo_t *info);
96 ClassDef(TDataMember,2)
103 class TOptionListItem :
public TObject {
106 TDataMember *fDataMember;
108 Long_t fValueMaskBit;
109 Long_t fToggleMaskBit;
113 fDataMember(0), fValue(0), fValueMaskBit(0), fToggleMaskBit(0)
115 TOptionListItem(TDataMember *m,Long_t val, Long_t valmask, Long_t tglmask,
116 const char *name,
const char *label);
118 ClassDef(TOptionListItem,2);