// @(#)root/meta:$Id$ // Author: Rene Brun 05/03/95 /************************************************************************* * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * All rights reserved. * * * * For the licensing terms see $ROOTSYS/LICENSE. * * For the list of contributors see $ROOTSYS/README/CREDITS. * *************************************************************************/ #ifndef ROOT_TRealData #define ROOT_TRealData ////////////////////////////////////////////////////////////////////////// // // // TRealData // // // // Description of persistent data members. // // // ////////////////////////////////////////////////////////////////////////// #ifndef ROOT_TObject #include "TObject.h" #endif #ifndef ROOT_TString #include "TString.h" #endif class TDataMember; class TRealData : public TObject { private: TDataMember *fDataMember; //pointer to data member descriptor Long_t fThisOffset; //offset with the THIS object pointer TString fName; //Concatenated names of this realdata TMemberStreamer *fStreamer; //Object to stream the data member. Bool_t fIsObject; //true if member is an object TRealData(const TRealData& rhs); // Copying TRealData in not allowed. TRealData& operator=(const TRealData& rhs); // Copying TRealData in not allowed. public: enum { kTransient = BIT(14) // The member is transient. }; TRealData(); TRealData(const char *name, Long_t offset, TDataMember *datamember); virtual ~TRealData(); void AdoptStreamer(TMemberStreamer *p); virtual const char *GetName() const {return fName.Data();} TDataMember *GetDataMember() const {return fDataMember;} TMemberStreamer *GetStreamer() const; Long_t GetThisOffset() const {return fThisOffset;} Bool_t IsObject() const {return fIsObject;} void SetIsObject(Bool_t isObject) {fIsObject=isObject;} void WriteRealData(void *pointer, char *&buffer); static void GetName(TString &output, TDataMember *dm); ClassDef(TRealData,0) //Description of persistent data members }; #endif