/usr/include/root/TRefProxy.h is in libroot-tree-treeplayer-dev 5.34.14-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | // @(#)root/meta:$Id$
// Author: Markus Frank 20/05/2005
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TRefProxy
#define ROOT_TRefProxy
#include <map>
#include <string>
#ifndef ROOT_TVirtualRefProxy
#include "TVirtualRefProxy.h"
#endif
#ifndef ROOT_TClassRef
#include "TClassRef.h"
#endif
// Forward declarations
class TFormLeafInfoReference;
//______________________________________________________________________________
//
// TRefProxy is a reference proxy, which allows to access ROOT references (TRef)
// stored contained in other objects from TTree::Draw
//______________________________________________________________________________
class TRefProxy : public TVirtualRefProxy {
protected:
TClassRef fClass; //! Pointer to the reference class (TRef::Class())
public:
/// Default constructor
TRefProxy() : fClass("TRef") {}
/// Copy constructor
TRefProxy(const TRefProxy& c) : TVirtualRefProxy(), fClass(c.fClass) {}
/// Assignement operator
TRefProxy &operator=(const TRefProxy& c) { fClass =c.fClass; return *this; }
/// TVirtualRefProxy overload: Release the reference proxy (virtual destructor)
virtual void Release() { delete this; }
/// TVirtualRefProxy overload: Clone the reference proxy (virtual constructor)
virtual TVirtualRefProxy* Clone() const { return new TRefProxy(*this);}
/// TVirtualRefProxy overload: Setter of reference class (executed when the proxy is adopted)
virtual void SetClass(TClass *cl) { fClass = cl; }
/// TVirtualRefProxy overload: Getter of reference class (executed when the proxy is adopted)
virtual TClass * GetClass() const { return fClass; }
/// TVirtualRefProxy overload: Access to value class
virtual TClass* GetValueClass(void* data) const;
/// TVirtualRefProxy overload: Prepare reused reference object (e.g. ZERO data pointers)
virtual void* GetPreparedReference(void* data) { return data; }
/// TVirtualRefProxy overload: Update (and propagate) cached information
virtual Bool_t Update();
/// TVirtualRefProxy overload: Flag to indicate if this is a container reference
virtual Bool_t HasCounter() const { return kFALSE; }
/// TVirtualRefProxy overload: Access to container size (if container reference (ie TRefArray) etc)
virtual Int_t GetCounterValue(TFormLeafInfoReference* /* info */, void* /* data */)
{ return 0; }
/// TVirtualRefProxy overload: Access referenced object(-data)
virtual void* GetObject(TFormLeafInfoReference* info, void* data, int instance);
};
#endif // ROOT_TRefProxy
|