12 #ifndef ROOT_TFormLeafInfoReference
13 #define ROOT_TFormLeafInfoReference
20 class TVirtualRefProxy;
22 class TFormLeafInfoReference :
public TFormLeafInfo {
23 typedef TVirtualRefProxy Proxy;
29 TFormLeafInfoReference(TClass* classptr, TStreamerElement* element,
int off);
31 TFormLeafInfoReference(
const TFormLeafInfoReference& orig);
33 virtual ~TFormLeafInfoReference();
35 void Swap(TFormLeafInfoReference &other);
37 TFormLeafInfoReference &operator=(
const TFormLeafInfoReference &orig);
39 virtual TFormLeafInfo* DeepCopy()
const;
42 Proxy* GetProxy()
const {
return fProxy; }
44 TBranch* GetBranch()
const {
return fBranch; }
46 void SetBranch(TBranch* branch)
47 { fBranch = branch;
if ( fNext ) fNext->SetBranch(branch); }
49 virtual Int_t GetOffset()
const {
return fOffset; }
51 virtual Bool_t IsInteger()
const {
return kFALSE; }
53 virtual Bool_t IsString()
const {
return kFALSE; }
55 virtual Bool_t IsReference()
const {
return kTRUE; }
57 virtual TClass* GetClass()
const;
59 virtual TClass* GetValueClass(TLeaf* from);
61 virtual TClass* GetValueClass(
void* from);
63 virtual void *GetLocalValuePointer( TLeaf *from, Int_t instance = 0);
65 virtual void *GetLocalValuePointer(
char *from, Int_t instance = 0);
67 virtual Bool_t HasCounter()
const;
69 virtual Int_t ReadCounterValue(
char *where);
71 virtual Int_t GetCounterValue(TLeaf* leaf);
78 virtual Bool_t Update();