File indexing completed on 2025-01-18 10:12:22
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TRealData
0013 #define ROOT_TRealData
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #include "TObject.h"
0025 #include "TString.h"
0026
0027 class TDataMember;
0028
0029
0030 class TRealData : public TObject {
0031
0032 private:
0033 TDataMember *fDataMember;
0034 Long_t fThisOffset;
0035 TString fName;
0036 TMemberStreamer *fStreamer;
0037 Bool_t fIsObject;
0038
0039 TRealData(const TRealData& rhs) = delete;
0040 TRealData& operator=(const TRealData& rhs) = delete;
0041
0042 public:
0043 enum EStatusBits {
0044 kTransient = BIT(14)
0045 };
0046
0047 TRealData();
0048 TRealData(const char *name, Long_t offset, TDataMember *datamember);
0049 virtual ~TRealData();
0050
0051 void AdoptStreamer(TMemberStreamer *p);
0052 const char *GetName() const override { return fName.Data(); }
0053 TDataMember *GetDataMember() const { return fDataMember; }
0054 TMemberStreamer *GetStreamer() const;
0055 Long_t GetThisOffset() const { return fThisOffset; }
0056 Bool_t IsObject() const { return fIsObject; }
0057 void SetIsObject(Bool_t isObject) { fIsObject = isObject; }
0058 void WriteRealData(void *pointer, char *&buffer);
0059
0060 static void GetName(TString &output, TDataMember *dm);
0061
0062 ClassDefOverride(TRealData,0)
0063 };
0064
0065 #endif
0066