12#ifndef ROOT_TBranchProxy
13#define ROOT_TBranchProxy
106 virtual void Print();
141 if (treeEntry !=
fRead) {
233 if (treeEntry !=
fRead) {
244 if (treeEntry !=
fRead) {
257 if (treeEntry !=
fRead) {
270 if (treeEntry !=
fRead) {
283 if (treeEntry !=
fRead) {
296 if (treeEntry !=
fRead) {
307 if (treeEntry !=
fRead) {
321 if (treeEntry !=
fRead) {
335 if (treeEntry !=
fRead) {
351 if (treeEntry !=
fRead) {
363 fBranch->TBranch::GetEntry(treeEntry);
437 location = (
char*)tca->
At(i);
455 location = (
char*)tca->
At(i);
458 if (location) location +=
fOffset;
462 return *(
void**)(location);
502 if (location) location +=
fOffset;
506 return *(
void**)(location);
525 std::cout <<
"fWhere " <<
fWhere << std::endl;
526 if (
fWhere) std::cout <<
"value? " << *(
unsigned char*)
GetStart() << std::endl;
534 if (!
Read())
return nullptr;
535 unsigned char* str = (
unsigned char*)
GetStart();
540 static unsigned char default_val = {};
556 operator const char*() {
557 if (!
Read())
return "";
562 if (!
Read())
return "";
567 if (!
Read())
return "";
571 operator std::string() {
572 if (!
Read())
return "";
573 return std::string((
const char*)
GetStart());
584 std::cout <<
"fWhere " <<
fWhere << std::endl;
589 std::cout <<
"location " <<
fWhere << std::endl;
599 if (!
Read())
return 0;
611 if (!
Read())
return nullptr;
612 if (
fWhere==0)
return nullptr;
626 std::cout <<
"fWhere " <<
fWhere << std::endl;
631 std::cout <<
"location " <<
fWhere << std::endl;
641 if (!
Read())
return 0;
651 if (!
Read())
return nullptr;
652 if (
fWhere==0)
return nullptr;
667 std::cout <<
"fWhere " <<
fWhere << std::endl;
668 if (
fWhere) std::cout <<
"value? " << *(T*)
GetStart() << std::endl;
676 if (!
Read())
return 0;
723 std::cout <<
"fWhere " <<
GetWhere() << std::endl;
732 if (!
Read())
return nullptr;
765 static T default_val;
795 static T default_val;
#define R__unlikely(expr)
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
char * Form(const char *fmt,...)
Base class for all the proxy object.
Bool_t ReadNoParentNoBranchCountNoCollection()
TNotifyLink< TBranchProxy > fNotify
Internal::TBranchProxyDirector * fDirector
Bool_t ReadNoParentNoBranchCountCollectionPointer()
TVirtualCollectionProxy * fCollection
virtual Int_t GetEntries()
void * GetClaStart(UInt_t i=0)
Bool_t Setup()
Initialize/cache the necessary information.
const TString fBranchName
Bool_t ReadNoParentBranchCountCollectionNoPointer()
void * GetStlStart(UInt_t i=0)
const char * GetBranchName() const
@ kReadNoParentBranchCountNoCollection
@ kReadParentCollectionPointer
@ kReadParentCollectionNoPointer
@ kReadNoParentNoBranchCountNoCollection
@ kReadNoParentNoBranchCountCollectionPointer
@ kReadNoParentBranchCountCollectionNoPointer
@ kReadNoParentBranchCountCollectionPointer
@ kReadParentNoCollection
@ kReadNoParentNoBranchCountCollectionNoPointer
virtual void * GetStart(UInt_t=0)
virtual Int_t GetArrayLength()
Bool_t IsaPointer() const
const TString fDataMember
Bool_t ReadNoParentBranchCountNoCollection()
void Reset()
Completely reset the object.
Bool_t ReadParentCollectionPointer()
virtual void * GetAddressOfElement(UInt_t)
Return the address of the element number i.
TBranchProxy * GetProxy()
Bool_t ReadNoParentNoBranchCountCollectionNoPointer()
TBranchProxy()
Constructor.
virtual void Print()
Display the content of the object.
Bool_t ReadParentNoCollection()
TVirtualCollectionProxy * GetCollection()
Bool_t ReadNoParentBranchCountCollectionPointer()
TStreamerElement * fElement
Bool_t ReadParentCollectionNoPointer()
virtual ~TBranchProxy()
Typical Destructor.
Concrete Implementation of the branch proxy around the data members which are array of char.
~TArrayCharProxy() override=default
TArrayCharProxy()=default
void Print() override
Display the content of the object.
unsigned char At(UInt_t i)
unsigned char operator[](Int_t i)
void * GetAddressOfElement(UInt_t i) final
Return the address of the element number i.
Template for concrete implementation of proxy around array of T.
void Print() override
Display the content of the object.
~TArrayProxy() override=default
const array_t & At(UInt_t i)
void * GetAddressOfElement(UInt_t i) final
Return the address of the element number i.
const array_t & operator[](Int_t i)
Int_t GetEntries() override
Long64_t GetReadEntry() const
Return the current 'local' entry number; i.e.
String builder to be used in the constructors.
TBranchProxyHelper(const char *left, const char *right=0)
Template of the Concrete Implementation of the branch proxy around an TClonesArray of array of T.
array_t * operator[](Int_t i)
~TClaArrayProxy() override=default
Template of the Concrete Implementation of the branch proxy around TClonesArray of T.
~TClaImpProxy() override=default
TClaImpProxy & operator=(T)=delete
const T & operator[](Int_t i)
Base class for the proxy around object in TClonesArray.
Int_t GetEntries() override
const TClonesArray * operator->()
const TClonesArray * GetPtr()
void * GetAddressOfElement(UInt_t i) final
Return the address of the element number i.
~TClaProxy() override=default
void Print() override
Display the content of the object.
Template of the proxy around objects.
void Print() override
Display the content of the object.
~TImpProxy() override=default
TImpProxy & operator=(T)=delete
Template of the Concrete Implementation of the branch proxy around an stl container of array of T.
~TStlArrayProxy() override=default
array_t * operator[](Int_t i)
Template of the Concrete Implementation of the branch proxy around an stl container of T.
TStlImpProxy & operator=(T)=delete
const T & operator[](Int_t i)
~TStlImpProxy() override=default
Base class for the proxy around STL containers.
~TStlProxy() override=default
void * GetAddressOfElement(UInt_t i) final
Return the address of the element number i.
const TVirtualCollectionProxy * operator->()
Int_t GetEntries() override
void Print() override
Display the content of the object.
TVirtualCollectionProxy * GetPtr()
Base class of TTreeReaderValue.
A TTree is a list of TBranches.
virtual Int_t GetEntry(Long64_t entry=0, Int_t getall=0)
Read all leaves of entry and return total number of bytes read.
TClass instances represent classes, structs and namespaces in the ROOT type system.
An array of clone (identical) objects.
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
virtual void * GetValuePointer() const
Links multiple listeners to be notified on TChain file changes.
Int_t GetEntries() const
Return the number of objects in array (i.e.
Int_t GetLast() const
Return index of last object in array.
TObject * At(Int_t idx) const
const char * Data() const
virtual void PushProxy(void *objectstart)=0
virtual void PopProxy()=0
virtual void * At(UInt_t idx)=0
virtual UInt_t Size() const =0
TImpProxy< Long_t > TLongProxy
TClaArrayProxy< TArrayType< ULong64_t > > TClaArrayULong64Proxy
TClaArrayProxy< TArrayType< Long64_t > > TClaArrayLong64Proxy
TClaArrayProxy< TArrayType< UChar_t > > TClaArrayUCharProxy
TStlImpProxy< UInt_t > TStlUIntProxy
TStlArrayProxy< TArrayType< Long64_t > > TStlArrayLong64Proxy
TClaArrayProxy< TArrayType< UShort_t > > TClaArrayShortProxy
TClaArrayProxy< TArrayType< Double32_t > > TClaArrayDouble32Proxy
TArrayProxy< TArrayType< Int_t > > TArrayIntProxy
TArrayProxy< TArrayType< UShort_t > > TArrayUShortProxy
TStlArrayProxy< TArrayType< ULong_t > > TStlArrayULongProxy
TStlImpProxy< ULong64_t > TStlULong64Proxy
TArrayProxy< TArrayType< Bool_t > > TArrayBoolProxy
TClaArrayProxy< TArrayType< Char_t > > TClaArrayCharProxy
TStlImpProxy< Double_t > TStlDoubleProxy
TStlArrayProxy< TArrayType< Int_t > > TStlArrayIntProxy
TStlArrayProxy< TArrayType< Float_t > > TStlArrayFloatProxy
TStlArrayProxy< TArrayType< Char_t > > TStlArrayCharProxy
TImpProxy< UShort_t > TUShortProxy
TStlArrayProxy< TArrayType< UShort_t > > TStlArrayShortProxy
TStlImpProxy< UChar_t > TStlUCharProxy
TClaImpProxy< Long_t > TClaLongProxy
TImpProxy< Double_t > TDoubleProxy
TImpProxy< ULong_t > TULongProxy
TStlArrayProxy< TArrayType< UChar_t > > TStlArrayUCharProxy
TArrayProxy< TArrayType< UChar_t > > TArrayUCharProxy
TClaImpProxy< Char_t > TClaCharProxy
TStlImpProxy< Char_t > TStlCharProxy
TClaImpProxy< Int_t > TClaIntProxy
TImpProxy< Long64_t > TLong64Proxy
TClaImpProxy< Bool_t > TClaBoolProxy
TStlImpProxy< Float16_t > TStlFloat16Proxy
TClaArrayProxy< TArrayType< Long_t > > TClaArrayLongProxy
TStlImpProxy< Float_t > TStlFloatProxy
TStlArrayProxy< TArrayType< Float16_t > > TStlArrayFloat16Proxy
TStlImpProxy< Long_t > TStlLongProxy
TArrayProxy< TArrayType< UInt_t > > TArrayUIntProxy
TImpProxy< UChar_t > TUCharProxy
TClaArrayProxy< TArrayType< Float_t > > TClaArrayFloatProxy
TImpProxy< Char_t > TCharProxy
TArrayProxy< TArrayType< UShort_t > > TArrayShortProxy
TClaArrayProxy< TArrayType< Int_t > > TClaArrayIntProxy
TImpProxy< ULong64_t > TULong64Proxy
TArrayProxy< TArrayType< Double_t > > TArrayDoubleProxy
TClaImpProxy< Long64_t > TClaLong64Proxy
TArrayProxy< TArrayType< ULong64_t > > TArrayULong64Proxy
TImpProxy< Int_t > TIntProxy
TClaArrayProxy< TArrayType< UInt_t > > TClaArrayUIntProxy
TClaImpProxy< Short_t > TClaShortProxy
TClaArrayProxy< TArrayType< UShort_t > > TClaArrayUShortProxy
TStlImpProxy< Bool_t > TStlBoolProxy
TArrayProxy< TArrayType< Float_t > > TArrayFloatProxy
TImpProxy< Float16_t > TFloat16Proxy
TStlArrayProxy< TArrayType< UInt_t > > TStlArrayUIntProxy
TStlArrayProxy< TArrayType< Bool_t > > TStlArrayBoolProxy
TClaImpProxy< Double32_t > TClaDouble32Proxy
TStlArrayProxy< TArrayType< Double32_t > > TStlArrayDouble32Proxy
TClaImpProxy< UInt_t > TClaUIntProxy
TArrayProxy< TArrayType< ULong_t > > TArrayULongProxy
TStlImpProxy< Int_t > TStlIntProxy
TClaImpProxy< Double_t > TClaDoubleProxy
TClaImpProxy< ULong_t > TClaULongProxy
TArrayProxy< TArrayType< Long64_t > > TArrayLong64Proxy
TClaImpProxy< ULong64_t > TClaULong64Proxy
TImpProxy< Double32_t > TDouble32Proxy
TClaArrayProxy< TArrayType< ULong_t > > TClaArrayULongProxy
TImpProxy< UInt_t > TUIntProxy
TClaImpProxy< UChar_t > TClaUCharProxy
TClaImpProxy< Float_t > TClaFloatProxy
TImpProxy< Float_t > TFloatProxy
TClaImpProxy< UShort_t > TClaUShortProxy
TArrayProxy< TArrayType< Float16_t > > TArrayFloat16Proxy
TImpProxy< Short_t > TShortProxy
TArrayProxy< TArrayType< Long_t > > TArrayLongProxy
TStlImpProxy< Double32_t > TStlDouble32Proxy
TStlArrayProxy< TArrayType< UShort_t > > TStlArrayUShortProxy
TClaArrayProxy< TArrayType< Double_t > > TClaArrayDoubleProxy
TStlArrayProxy< TArrayType< ULong64_t > > TStlArrayULong64Proxy
TStlArrayProxy< TArrayType< Long_t > > TStlArrayLongProxy
TStlImpProxy< UShort_t > TStlUShortProxy
TClaImpProxy< Float16_t > TClaFloat16Proxy
TClaArrayProxy< TArrayType< Bool_t > > TClaArrayBoolProxy
TStlImpProxy< Long64_t > TStlLong64Proxy
TStlImpProxy< Short_t > TStlShortProxy
TImpProxy< Bool_t > TBoolProxy
TClaArrayProxy< TArrayType< Float16_t > > TClaArrayFloat16Proxy
TStlImpProxy< ULong_t > TStlULongProxy
TStlArrayProxy< TArrayType< Double_t > > TStlArrayDoubleProxy
TArrayProxy< TArrayType< Double32_t > > TArrayDouble32Proxy
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Helper template to be able to determine and use array dimensions.
static constexpr int gSize
Helper class for proxy around multi dimension array.
static constexpr int gSize