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.
|
static |
Definition at line 106 of file TEveChunkManager.h.
|
inlinestatic |
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.