Warning, file /include/root/TFormLeafInfoReference.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TFormLeafInfoReference
0013 #define ROOT_TFormLeafInfoReference
0014
0015 #include "TFormLeafInfo.h"
0016
0017
0018 class TVirtualRefProxy;
0019
0020 class TFormLeafInfoReference : public TFormLeafInfo {
0021 typedef TVirtualRefProxy Proxy;
0022 public:
0023 Proxy* fProxy;
0024 TBranch* fBranch;
0025 public:
0026
0027 TFormLeafInfoReference(TClass* classptr, TStreamerElement* element, int off);
0028
0029 TFormLeafInfoReference(const TFormLeafInfoReference& orig);
0030
0031 ~TFormLeafInfoReference() override;
0032
0033 void Swap(TFormLeafInfoReference &other);
0034
0035 TFormLeafInfoReference &operator=(const TFormLeafInfoReference &orig);
0036
0037 TFormLeafInfo* DeepCopy() const override;
0038
0039
0040 Proxy* GetProxy() const { return fProxy; }
0041
0042 TBranch* GetBranch() const { return fBranch; }
0043
0044 void SetBranch(TBranch* branch) override
0045 { fBranch = branch; if ( fNext ) fNext->SetBranch(branch); }
0046
0047 virtual Int_t GetOffset() const { return fOffset; }
0048
0049 bool IsInteger() const override { return false; }
0050
0051 bool IsString() const override { return false; }
0052
0053 bool IsReference() const override { return true; }
0054
0055 TClass* GetClass() const override;
0056
0057 virtual TClass* GetValueClass(TLeaf* from);
0058
0059 virtual TClass* GetValueClass(void* from);
0060
0061 void *GetLocalValuePointer( TLeaf *from, Int_t instance = 0) override;
0062
0063 void *GetLocalValuePointer(char *from, Int_t instance = 0) override;
0064
0065 bool HasCounter() const override;
0066
0067 Int_t ReadCounterValue(char *where) override;
0068
0069 Int_t GetCounterValue(TLeaf* leaf) override;
0070
0071
0072 DECLARE_GETVAL( , override);
0073
0074 DECLARE_READVAL( , override);
0075
0076 bool Update() override;
0077 };
0078
0079 #endif