Logo ROOT  
Reference Guide
TRealData.h
Go to the documentation of this file.
1// @(#)root/meta:$Id$
2// Author: Rene Brun 05/03/95
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TRealData
13#define ROOT_TRealData
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TRealData //
19// //
20// Description of persistent data members. //
21// //
22//////////////////////////////////////////////////////////////////////////
23
24#include "TObject.h"
25#include "TString.h"
26
27class TDataMember;
28
29
30class TRealData : public TObject {
31
32private:
33 TDataMember *fDataMember; //pointer to data member descriptor
34 Long_t fThisOffset; //offset with the THIS object pointer
35 TString fName; //Concatenated names of this realdata
36 TMemberStreamer *fStreamer; //Object to stream the data member.
37 Bool_t fIsObject; //true if member is an object
38
39 TRealData(const TRealData& rhs) = delete; // Copying TRealData in not allowed.
40 TRealData& operator=(const TRealData& rhs) = delete; // Copying TRealData in not allowed.
41
42public:
44 kTransient = BIT(14) // The member is transient.
45 };
46
47 TRealData();
48 TRealData(const char *name, Long_t offset, TDataMember *datamember);
49 virtual ~TRealData();
50
52 virtual const char *GetName() const {return fName.Data();}
56 Bool_t IsObject() const {return fIsObject;}
57 void SetIsObject(Bool_t isObject) {fIsObject=isObject;}
58 void WriteRealData(void *pointer, char *&buffer);
59
60 static void GetName(TString &output, TDataMember *dm);
61
62 ClassDef(TRealData,0) //Description of persistent data members
63};
64
65#endif
66
long Long_t
Definition: RtypesCore.h:52
#define ClassDef(name, id)
Definition: Rtypes.h:322
#define BIT(n)
Definition: Rtypes.h:83
char name[80]
Definition: TGX11.cxx:109
All ROOT classes may have RTTI (run time type identification) support added.
Definition: TDataMember.h:31
Mother of all ROOT objects.
Definition: TObject.h:37
EStatusBits
Definition: TObject.h:57
The TRealData class manages the effective list of all data members for a given class.
Definition: TRealData.h:30
TDataMember * fDataMember
Definition: TRealData.h:33
void WriteRealData(void *pointer, char *&buffer)
Write one persistent data member on output buffer.
Definition: TRealData.cxx:61
TMemberStreamer * fStreamer
Definition: TRealData.h:36
void AdoptStreamer(TMemberStreamer *p)
Definition: TRealData.cxx:67
TRealData()
RealData default constructor.
Definition: TRealData.cxx:33
TDataMember * GetDataMember() const
Definition: TRealData.h:53
TMemberStreamer * GetStreamer() const
Return the associate streamer object.
Definition: TRealData.cxx:115
virtual ~TRealData()
RealData default destructor.
Definition: TRealData.cxx:52
@ kTransient
Definition: TRealData.h:44
Bool_t fIsObject
Definition: TRealData.h:37
TRealData(const TRealData &rhs)=delete
Bool_t IsObject() const
Definition: TRealData.h:56
Long_t fThisOffset
Definition: TRealData.h:34
TString fName
Definition: TRealData.h:35
virtual const char * GetName() const
Returns name of object.
Definition: TRealData.h:52
TRealData & operator=(const TRealData &rhs)=delete
Long_t GetThisOffset() const
Definition: TRealData.h:55
void SetIsObject(Bool_t isObject)
Definition: TRealData.h:57
Basic string class.
Definition: TString.h:131
const char * Data() const
Definition: TString.h:364
static void output(int code)
Definition: gifencode.c:226