Allows for iterating over the elements of a proxied collection.
RCollectionIterableOnce avoids an additional iterator copy (see TVirtualCollectionProxy::GetFunctionCopyIterator) and thus can only be iterated once.
Definition at line 54 of file RFieldProxiedCollection.hxx.
Classes | |
| class | RIterator |
| struct | RIteratorFuncs |
Public Member Functions | |
| RCollectionIterableOnce (void *collection, const RIteratorFuncs &ifuncs, TVirtualCollectionProxy *proxy, std::size_t stride=0U) | |
| Construct a RCollectionIterableOnce that iterates over collection. | |
| ~RCollectionIterableOnce () | |
| RIterator | begin () |
| RIterator | end () |
Static Public Member Functions | |
| static RIteratorFuncs | GetIteratorFuncs (TVirtualCollectionProxy *proxy, bool readFromDisk) |
Private Attributes | |
| void * | fBegin = &fBeginSmallBuf |
| unsigned char | fBeginSmallBuf [TVirtualCollectionProxy::fgIteratorArenaSize] |
| void * | fEnd = &fEndSmallBuf |
| unsigned char | fEndSmallBuf [TVirtualCollectionProxy::fgIteratorArenaSize] |
| const RIteratorFuncs & | fIFuncs |
| const std::size_t | fStride |
#include <ROOT/RField/RFieldProxiedCollection.hxx>
|
inline |
Construct a RCollectionIterableOnce that iterates over collection.
If elements are guaranteed to be contiguous in memory (e.g. a vector), stride can be provided for faster iteration, i.e. the address of each element is known given the base pointer.
Definition at line 110 of file RFieldProxiedCollection.hxx.
|
inline |
Definition at line 116 of file RFieldProxiedCollection.hxx.
|
inline |
Definition at line 118 of file RFieldProxiedCollection.hxx.
|
inline |
Definition at line 119 of file RFieldProxiedCollection.hxx.
|
static |
Definition at line 1010 of file RFieldMeta.cxx.
|
private |
Definition at line 103 of file RFieldProxiedCollection.hxx.
|
private |
Definition at line 101 of file RFieldProxiedCollection.hxx.
|
private |
Definition at line 104 of file RFieldProxiedCollection.hxx.
|
private |
Definition at line 102 of file RFieldProxiedCollection.hxx.
|
private |
Definition at line 99 of file RFieldProxiedCollection.hxx.
|
private |
Definition at line 100 of file RFieldProxiedCollection.hxx.