TRealData.cxx

Go to the documentation of this file.
00001 // @(#)root/meta:$Id: TRealData.cxx 20882 2007-11-19 11:31:26Z rdm $
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 #include "TRealData.h"
00013 #include "TDataMember.h"
00014 #include "TClass.h"
00015 #include "TStreamer.h"
00016 
00017 ClassImp(TRealData)
00018 
00019 //______________________________________________________________________________
00020 //
00021 //  The TRealData class manages the effective list of all data members
00022 //  for a given class. For example for an object of class TLine that inherits
00023 //  from TObject and TAttLine, the TRealData object for a line contains the
00024 //  complete list of all data members of the 3 classes.
00025 //
00026 //  The list of TRealData members in TClass is built when functions like
00027 //  object.Inspect or object.DrawClass are called.
00028 
00029 //______________________________________________________________________________
00030 TRealData::TRealData() : TObject(), fDataMember(0), fThisOffset(-1),
00031    fStreamer(0), fIsObject(kFALSE)
00032 {
00033 //*-*-*-*-*-*-*-*-*-*-*RealData default constructor*-*-*-*-*-*-*-*-*-*-*-*-*
00034 //*-*                  ============================
00035 
00036 }
00037 
00038 
00039 //______________________________________________________________________________
00040 TRealData::TRealData(const char *name, Long_t offset, TDataMember *datamember)
00041    : TObject(), fDataMember(datamember), fThisOffset(offset), fName(name),
00042      fStreamer(0), fIsObject(kFALSE)
00043 {
00044 //*-*-*-*-*-*-*-*-*-*Constructor to define one persistent data member*-*-*-*-*
00045 //*-*                ================================================
00046 //*-* datamember is the pointer to the data member descriptor.
00047 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
00048 
00049 }
00050 
00051 //______________________________________________________________________________
00052 TRealData::~TRealData()
00053 {
00054 //*-*-*-*-*-*-*-*-*-*-*RealData default destructor*-*-*-*-*-*-*-*-*-*-*-*-*
00055 //*-*                  =============================
00056 
00057    delete fStreamer;
00058 }
00059 
00060 //______________________________________________________________________________
00061 void TRealData::WriteRealData(void *, char *&)
00062 {
00063 //*-*-*-*-*Write one persistent data member on output buffer*-*-*-*-*-*-*-*
00064 //*-*      =================================================
00065 //*-* pointer points to the current persistent data member
00066 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
00067 //*-*
00068 }
00069 
00070 //______________________________________________________________________________
00071 void TRealData::AdoptStreamer(TMemberStreamer *str)
00072 {
00073    //fDataMember->SetStreamer(str);
00074    //delete fStreamer;
00075    fStreamer = str;
00076 }
00077 
00078 //______________________________________________________________________________
00079 TMemberStreamer *TRealData::GetStreamer() const
00080 {
00081    // Return the associate streamer object.
00082    return fStreamer; // return fDataMember->GetStreamer();
00083 }
00084 

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