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
 
virtual TClassIsA () 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
 
virtual void Streamer (TBuffer &)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
Int_t VecSize () const
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static Version_t Class_Version ()
 
static const char * DeclFileName ()
 

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 59 of file TEveChunkManager.h.

◆ Capacity()

Int_t TEveChunkManager::Capacity ( ) const
inline

Definition at line 57 of file TEveChunkManager.h.

◆ Chunk()

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

Definition at line 60 of file TEveChunkManager.h.

◆ Class()

static TClass * TEveChunkManager::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * TEveChunkManager::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static Version_t TEveChunkManager::Class_Version ( )
inlinestatic
Returns
Version of this class

Definition at line 106 of file TEveChunkManager.h.

◆ DeclFileName()

static const char * TEveChunkManager::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 106 of file TEveChunkManager.h.

◆ IsA()

virtual TClass * TEveChunkManager::IsA ( ) const
inlinevirtual
Returns
TClass describing current object

Reimplemented in TEveChunkVector< T >.

Definition at line 106 of file TEveChunkManager.h.

◆ N()

Int_t TEveChunkManager::N ( ) const
inline

Definition at line 53 of file TEveChunkManager.h.

◆ NAtoms()

Int_t TEveChunkManager::NAtoms ( Int_t  chk) const
inline

Definition at line 61 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 52 of file TEveChunkManager.h.

◆ Size()

Int_t TEveChunkManager::Size ( ) const
inline

Definition at line 55 of file TEveChunkManager.h.

◆ Streamer()

virtual void TEveChunkManager::Streamer ( TBuffer )
virtual

Reimplemented in TEveChunkVector< T >.

◆ StreamerNVirtual()

void TEveChunkManager::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 106 of file TEveChunkManager.h.

◆ VecSize()

Int_t TEveChunkManager::VecSize ( ) const
inline

Definition at line 56 of file TEveChunkManager.h.

Member Data Documentation

◆ fCapacity

Int_t TEveChunkManager::fCapacity
protected

Definition at line 38 of file TEveChunkManager.h.

◆ fChunks

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

Definition at line 40 of file TEveChunkManager.h.

◆ fN

Int_t TEveChunkManager::fN
protected

Definition at line 34 of file TEveChunkManager.h.

◆ fS

Int_t TEveChunkManager::fS
protected

Definition at line 33 of file TEveChunkManager.h.

◆ fSize

Int_t TEveChunkManager::fSize
protected

Definition at line 36 of file TEveChunkManager.h.

◆ fVecSize

Int_t TEveChunkManager::fVecSize
protected

Definition at line 37 of file TEveChunkManager.h.

Libraries for TEveChunkManager:
[legend]

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