Vector-like container with chunked memory allocation.
Allocation chunk can accommodate fN atoms of byte-size fS each. The chunks themselves are TArrayCs and are stored in a std::vector<TArrayC*>. Holes in the structure are not supported, neither is removal of atoms. The structure can be Refit() to occupy a single contiguous array.
Definition at line 26 of file TEveChunkManager.h.
Classes | |
struct | iterator |
Public Member Functions | |
TEveChunkManager () | |
Default constructor. | |
TEveChunkManager (Int_t atom_size, Int_t chunk_size) | |
Constructor. | |
virtual | ~TEveChunkManager () |
Destructor. | |
Char_t * | Atom (Int_t idx) const |
Int_t | Capacity () const |
Char_t * | Chunk (Int_t chk) const |
virtual TClass * | IsA () const |
Int_t | N () const |
Int_t | NAtoms (Int_t chk) const |
Char_t * | NewAtom () |
Char_t * | NewChunk () |
Allocate a new memory chunk and register it. | |
void | Refit () |
Refit the container so that all current data fits into a single chunk. | |
void | Reset (Int_t atom_size, Int_t chunk_size) |
Empty the container and reset it with given atom and chunk sizes. | |
Int_t | S () const |
Int_t | Size () const |
virtual void | Streamer (TBuffer &) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Int_t | VecSize () const |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Protected Member Functions | |
void | ReleaseChunks () |
Release all memory chunks. | |
Protected Attributes | |
Int_t | fCapacity |
std::vector< TArrayC * > | fChunks |
Int_t | fN |
Int_t | fS |
Int_t | fSize |
Int_t | fVecSize |
Private Member Functions | |
TEveChunkManager (const TEveChunkManager &)=delete | |
TEveChunkManager & | operator= (const TEveChunkManager &)=delete |
#include <TEveChunkManager.h>
|
privatedelete |
TEveChunkManager::TEveChunkManager | ( | ) |
Default constructor.
Call reset for initialization.
Definition at line 41 of file TEveChunkManager.cxx.
Constructor.
Definition at line 50 of file TEveChunkManager.cxx.
|
virtual |
Destructor.
Definition at line 59 of file TEveChunkManager.cxx.
Definition at line 59 of file TEveChunkManager.h.
|
inline |
Definition at line 57 of file TEveChunkManager.h.
Definition at line 60 of file TEveChunkManager.h.
Definition at line 106 of file TEveChunkManager.h.
Definition at line 106 of file TEveChunkManager.h.
Reimplemented in TEveChunkVector< T >.
Definition at line 106 of file TEveChunkManager.h.
|
inline |
Definition at line 53 of file TEveChunkManager.h.
Definition at line 61 of file TEveChunkManager.h.
|
inline |
Definition at line 111 of file TEveChunkManager.h.
Char_t * TEveChunkManager::NewChunk | ( | ) |
Allocate a new memory chunk and register it.
Definition at line 101 of file TEveChunkManager.cxx.
|
privatedelete |
void TEveChunkManager::Refit | ( | ) |
Refit the container so that all current data fits into a single chunk.
Definition at line 79 of file TEveChunkManager.cxx.
|
protected |
Release all memory chunks.
Definition at line 30 of file TEveChunkManager.cxx.
Empty the container and reset it with given atom and chunk sizes.
Definition at line 67 of file TEveChunkManager.cxx.
|
inline |
Definition at line 52 of file TEveChunkManager.h.
|
inline |
Definition at line 55 of file TEveChunkManager.h.
Reimplemented in TEveChunkVector< T >.
|
inline |
Definition at line 106 of file TEveChunkManager.h.
|
inline |
Definition at line 56 of file TEveChunkManager.h.
|
protected |
Definition at line 38 of file TEveChunkManager.h.
|
protected |
Definition at line 40 of file TEveChunkManager.h.
|
protected |
Definition at line 34 of file TEveChunkManager.h.
|
protected |
Definition at line 33 of file TEveChunkManager.h.
|
protected |
Definition at line 36 of file TEveChunkManager.h.
|
protected |
Definition at line 37 of file TEveChunkManager.h.