TRealData.h

Go to the documentation of this file.
00001 // @(#)root/meta:$Id: TRealData.h 25450 2008-09-18 21:13:42Z pcanal $
00002 // Author: Rene Brun   05/03/95
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef ROOT_TRealData
00013 #define ROOT_TRealData
00014 
00015 
00016 //////////////////////////////////////////////////////////////////////////
00017 //                                                                      //
00018 // TRealData                                                            //
00019 //                                                                      //
00020 // Description of persistent data members.                              //
00021 //                                                                      //
00022 //////////////////////////////////////////////////////////////////////////
00023 
00024 #ifndef ROOT_TObject
00025 #include "TObject.h"
00026 #endif
00027 #ifndef ROOT_TString
00028 #include "TString.h"
00029 #endif
00030 
00031 class TDataMember;
00032 
00033 
00034 class TRealData : public TObject {
00035 
00036 private:
00037    TDataMember     *fDataMember;     //pointer to data member descriptor
00038    Long_t           fThisOffset;     //offset with the THIS object pointer
00039    TString          fName;           //Concatenated names of this realdata
00040    TMemberStreamer *fStreamer;       //Object to stream the data member.
00041    Bool_t           fIsObject;       //true if member is an object
00042 
00043    TRealData(const TRealData& rhs);  // Copying TRealData in not allowed.
00044    TRealData& operator=(const TRealData& rhs);  // Copying TRealData in not allowed.
00045 
00046 public:
00047    enum { 
00048       kTransient = BIT(14)  // The member is transient.
00049    };
00050 
00051    TRealData();
00052    TRealData(const char *name, Long_t offset, TDataMember *datamember);
00053    virtual     ~TRealData();
00054 
00055    void                AdoptStreamer(TMemberStreamer *p);
00056    virtual const char *GetName() const {return fName.Data();}
00057    TDataMember        *GetDataMember() const {return fDataMember;}
00058    TMemberStreamer    *GetStreamer() const;
00059    Long_t              GetThisOffset() const {return fThisOffset;}
00060    Bool_t              IsObject() const {return fIsObject;}
00061    void                SetIsObject(Bool_t isObject) {fIsObject=isObject;}
00062    void                WriteRealData(void *pointer, char *&buffer);
00063 
00064    ClassDef(TRealData,0)  //Description of persistent data members
00065 };
00066 
00067 #endif
00068 

Generated on Tue Jul 5 14:11:40 2011 for ROOT_528-00b_version by  doxygen 1.5.1