Logo ROOT  
Reference Guide
TEveChunkManager Class Reference

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. More...
 
 TEveChunkManager (Int_t atom_size, Int_t chunk_size)
 Constructor. More...
 
virtual ~TEveChunkManager ()
 Destructor. More...
 
Char_tAtom (Int_t idx) const
 
Int_t Capacity () const
 
Char_tChunk (Int_t chk) const
 
Int_t N () const
 
Int_t NAtoms (Int_t chk) const
 
Char_tNewAtom ()
 
Char_tNewChunk ()
 Allocate a new memory chunk and register it. More...
 
void Refit ()
 Refit the container so that all current data fits into a single chunk. More...
 
void Reset (Int_t atom_size, Int_t chunk_size)
 Empty the container and reset it with given atom and chunk sizes. More...
 
Int_t S () const
 
Int_t Size () const
 
Int_t VecSize () const
 

Protected Member Functions

void ReleaseChunks ()
 Release all memory chunks. More...
 

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
 
TEveChunkManageroperator= (const TEveChunkManager &)=delete
 

#include <TEveChunkManager.h>

Inheritance diagram for TEveChunkManager:
[legend]

Constructor & Destructor Documentation

◆ TEveChunkManager() [1/3]

TEveChunkManager::TEveChunkManager ( const TEveChunkManager )
privatedelete

◆ TEveChunkManager() [2/3]

TEveChunkManager::TEveChunkManager ( )

Default constructor.

Call reset for initialization.

Definition at line 41 of file TEveChunkManager.cxx.

◆ TEveChunkManager() [3/3]

TEveChunkManager::TEveChunkManager ( Int_t  atom_size,
Int_t  chunk_size 
)

Constructor.

Definition at line 50 of file TEveChunkManager.cxx.

◆ ~TEveChunkManager()

TEveChunkManager::~TEveChunkManager ( )
virtual

Destructor.

Definition at line 59 of file TEveChunkManager.cxx.

Member Function Documentation

◆ Atom()

Char_t* TEveChunkManager::Atom ( Int_t  idx) const
inline

Definition at line 65 of file TEveChunkManager.h.

◆ Capacity()

Int_t TEveChunkManager::Capacity ( ) const
inline

Definition at line 63 of file TEveChunkManager.h.

◆ Chunk()

Char_t* TEveChunkManager::Chunk ( Int_t  chk) const
inline

Definition at line 66 of file TEveChunkManager.h.

◆ N()

Int_t TEveChunkManager::N ( ) const
inline

Definition at line 59 of file TEveChunkManager.h.

◆ NAtoms()

Int_t TEveChunkManager::NAtoms ( Int_t  chk) const
inline

Definition at line 67 of file TEveChunkManager.h.

◆ NewAtom()

Char_t * TEveChunkManager::NewAtom ( )
inline

Definition at line 111 of file TEveChunkManager.h.

◆ NewChunk()

Char_t * TEveChunkManager::NewChunk ( )

Allocate a new memory chunk and register it.

Definition at line 101 of file TEveChunkManager.cxx.

◆ operator=()

TEveChunkManager& TEveChunkManager::operator= ( const TEveChunkManager )
privatedelete

◆ Refit()

void TEveChunkManager::Refit ( )

Refit the container so that all current data fits into a single chunk.

Definition at line 79 of file TEveChunkManager.cxx.

◆ ReleaseChunks()

void TEveChunkManager::ReleaseChunks ( )
protected

Release all memory chunks.

Definition at line 30 of file TEveChunkManager.cxx.

◆ Reset()

void TEveChunkManager::Reset ( Int_t  atom_size,
Int_t  chunk_size 
)

Empty the container and reset it with given atom and chunk sizes.

Definition at line 67 of file TEveChunkManager.cxx.

◆ S()

Int_t TEveChunkManager::S ( ) const
inline

Definition at line 58 of file TEveChunkManager.h.

◆ Size()

Int_t TEveChunkManager::Size ( ) const
inline

Definition at line 61 of file TEveChunkManager.h.

◆ VecSize()

Int_t TEveChunkManager::VecSize ( ) const
inline

Definition at line 62 of file TEveChunkManager.h.

Member Data Documentation

◆ fCapacity

Int_t TEveChunkManager::fCapacity
protected

Definition at line 44 of file TEveChunkManager.h.

◆ fChunks

std::vector<TArrayC*> TEveChunkManager::fChunks
protected

Definition at line 46 of file TEveChunkManager.h.

◆ fN

Int_t TEveChunkManager::fN
protected

Definition at line 40 of file TEveChunkManager.h.

◆ fS

Int_t TEveChunkManager::fS
protected

Definition at line 39 of file TEveChunkManager.h.

◆ fSize

Int_t TEveChunkManager::fSize
protected

Definition at line 42 of file TEveChunkManager.h.

◆ fVecSize

Int_t TEveChunkManager::fVecSize
protected

Definition at line 43 of file TEveChunkManager.h.

Libraries for TEveChunkManager:
[legend]

The documentation for this class was generated from the following files: