TNDArray N-Dim array class. Storage layout: Assume 3 dimensions, array sizes 2, 4 and 3 i.e. 24 bins: Data is stored as [0,0,0], [0,0,1], [0,0,2], [0,1,0],... fSizes stores the combined size of each bin in a dimension, i.e. in above example it would contain 24, 12, 3, 1. Storage is allocated lazily, only when data is written to the array. TNDArrayRef gives access to a sub-dimension, e.g. arr[0][1] in above three-dimensional example, up to an element with conversion operator to double: double value = arr[0][1][2];
~TNDArrayRef<unsigned short>() | |
static TClass* | Class() |
TClass* | IsA() const |
unsigned short | operator unsigned short() const |
TNDArrayRef<unsigned short>& | operator=(const TNDArrayRef<unsigned short>&) |
TNDArrayRef<unsigned short>& | operator=(TNDArrayRef<unsigned short>&&) |
TNDArrayRef<unsigned short> | operator[](Int_t idx) const |
void | ShowMembers(TMemberInspector& insp) const |
void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
TNDArrayRef<unsigned short>(const TNDArrayRef<unsigned short>&) | |
TNDArrayRef<unsigned short>(TNDArrayRef<unsigned short>&&) | |
TNDArrayRef<unsigned short>(const unsigned short* data, const Long64_t* sizes) |
const unsigned short* | fData | pointer into TNDArray's fData |
const Long64_t* | fSizes | pointer into TNDArray's fSizes |
Inheritance Chart: | |||||
|
When building with -fmodules, it instantiates all pending instantiations, instead of delaying them until the end of the translation unit. We 'got away with' probably because the use and the definition of the explicit specialization do not occur in the same TU. In case we are building with -fmodules, we need to forward declare the specialization in order to compile the dictionary G__Hist.cxx.