12 #ifndef ROOT_TTreeReaderArray 13 #define ROOT_TTreeReaderArray 25 #ifndef ROOT_TTreeReaderValue 28 #ifndef ROOT_TTreeReaderUtils 68 public std::iterator<std::input_iterator_tag, T, long> {
71 fIndex(0), fArray(0) {}
75 fIndex(idx), fArray(array) {}
92 return !(*
this == lhs);
106 if (fIndex >= fArray->
GetSize()) {
116 R__ASSERT(fArray &&
"invalid iterator!");
117 return fArray->
At(fIndex);
135 return IsEmpty() ? Iterator_t() : Iterator_t(0,
this);
137 Iterator_t
end()
const {
return Iterator_t(); }
140 #define R__TTreeReaderArray_TypeString(T) #T 142 #undef R__TTreeReaderArray_TypeString 147 #endif // ROOT_TTreeReaderArray TTreeReaderArray(TTreeReader &tr, const char *branchname)
bool operator!=(const Iterator_t &lhs) const
TTreeReader is a simple, robust and fast interface to read values from a TTree, TChain or TNtuple...
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
virtual EReadStatus GetReadStatus() const
virtual void CreateProxy()
Create the proxy object for our branch.
Iterator_t & operator++()
TTreeReaderArrayBase(TTreeReader *reader, const char *branchname, TDictionary *dict)
bool operator==(const Iterator_t &lhs) const
Iterator_t(size_t idx, TTreeReaderArray *array)
Detail::TBranchProxy * GetProxy() const
TTreeReaderValueBase::EReadStatus fReadStatus
This class defines an abstract interface that must be implemented by all classes that contain diction...
Extracts array data from a TTree.
virtual const char * GetDerivedTypeName() const
TTreeReaderArray * fArray
T & operator[](size_t idx)
#define R__TTreeReaderArray_TypeString(T)
TVirtualCollectionReader * fImpl
const char * GetBranchContentDataType(TBranch *branch, TString &contentTypeName, TDictionary *&dict) const
Access a branch's collection content (not the collection itself) through a proxy. ...
virtual void * At(Detail::TBranchProxy *, size_t)=0
A TTree is a list of TBranches.
Iterator_t operator++(int)
void * UntypedAt(size_t idx) const
virtual size_t GetSize(Detail::TBranchProxy *)=0