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 |
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 |
Int_t | VecSize () const |
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.
|
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.
|
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.