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);