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> {
92 return !(*
this == lhs);
106 if (fIndex >= fArray->
GetSize()) {
116 R__ASSERT(fArray &&
"invalid iterator!");
117 return fArray->
At(fIndex);
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...
Namespace for new ROOT classes and functions.
virtual EReadStatus GetReadStatus() const
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.
virtual void CreateProxy()
Create the proxy object for our branch.
Iterator_t operator++(int)
void * UntypedAt(size_t idx) const
virtual size_t GetSize(Detail::TBranchProxy *)=0