Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
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 const char *GetName() const override { return fName.Data(); }
55 Long_t GetThisOffset() const { return fThisOffset; }
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 ClassDefOverride(TRealData,0) //Description of persistent data members
63};
64
65#endif
66
long Long_t
Signed long integer 4 bytes (long). Size depends on architecture.
Definition RtypesCore.h:68
bool Bool_t
Boolean (0=false, 1=true) (bool).
Definition RtypesCore.h:77
#define BIT(n)
Definition Rtypes.h:91
#define ClassDefOverride(name, id)
Definition Rtypes.h:348
char name[80]
Definition TGX11.cxx:148
All ROOT classes may have RTTI (run time type identification) support added.
Definition TDataMember.h:31
TObject()
TObject constructor.
Definition TObject.h:259
const char * GetName() const override
Returns name of object.
Definition TRealData.h:52
TDataMember * fDataMember
Definition TRealData.h:33
void WriteRealData(void *pointer, char *&buffer)
Write one persistent data member on output buffer.
Definition TRealData.cxx:60
TMemberStreamer * fStreamer
Definition TRealData.h:36
void AdoptStreamer(TMemberStreamer *p)
Definition TRealData.cxx:66
TRealData()
RealData default constructor.
Definition TRealData.cxx:32
TDataMember * GetDataMember() const
Definition TRealData.h:53
TMemberStreamer * GetStreamer() const
Return the associate streamer object.
virtual ~TRealData()
RealData default destructor.
Definition TRealData.cxx:51
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
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:138