ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
offline_EventStorage_v5::DataBuffer::implementation Class Reference
Collaboration diagram for offline_EventStorage_v5::DataBuffer::implementation:

Public Member Functions

 implementation ()
 
 implementation (const uint32_t &size)
 
 implementation (const implementation &)=delete
 
implementationoperator= (const implementation &)=delete
 
 ~implementation ()
 
void realloc (const uint32_t &newsize)
 
void grow (const uint32_t &newsize)
 
void * handle ()
 
uint32_t buffersize () const
 

Private Attributes

char * m_buffer
 
uint32_t m_buffersize
 

Detailed Description

Definition at line 10 of file v5_DataBuffer.cxx.

Constructor & Destructor Documentation

◆ implementation() [1/3]

offline_EventStorage_v5::DataBuffer::implementation::implementation ( )
inline

Definition at line 14 of file v5_DataBuffer.cxx.

14  :
15  m_buffer(0),
16  m_buffersize(0){}

◆ implementation() [2/3]

offline_EventStorage_v5::DataBuffer::implementation::implementation ( const uint32_t &  size)
inline

Definition at line 18 of file v5_DataBuffer.cxx.

18  :
19  m_buffer(0),
20  m_buffersize(0){
21  m_buffer = new char[size];
23  }

◆ implementation() [3/3]

offline_EventStorage_v5::DataBuffer::implementation::implementation ( const implementation )
delete

◆ ~implementation()

offline_EventStorage_v5::DataBuffer::implementation::~implementation ( )
inline

Definition at line 28 of file v5_DataBuffer.cxx.

29  { delete[] m_buffer; }

Member Function Documentation

◆ buffersize()

uint32_t offline_EventStorage_v5::DataBuffer::implementation::buffersize ( ) const
inline

Definition at line 55 of file v5_DataBuffer.cxx.

56  { return m_buffersize; }

◆ grow()

void offline_EventStorage_v5::DataBuffer::implementation::grow ( const uint32_t &  newsize)
inline

Definition at line 39 of file v5_DataBuffer.cxx.

40  {
41  if(newsize <= m_buffersize)
42  return;
43 
44  char * new_buffer = new char[newsize];
45  ::memcpy(new_buffer, m_buffer, m_buffersize);
46  delete[] m_buffer;
47 
48  m_buffer = new_buffer;
49  m_buffersize = newsize;
50  }

◆ handle()

void* offline_EventStorage_v5::DataBuffer::implementation::handle ( )
inline

Definition at line 52 of file v5_DataBuffer.cxx.

53  { return m_buffer; }

◆ operator=()

implementation& offline_EventStorage_v5::DataBuffer::implementation::operator= ( const implementation )
delete

◆ realloc()

void offline_EventStorage_v5::DataBuffer::implementation::realloc ( const uint32_t &  newsize)
inline

Definition at line 32 of file v5_DataBuffer.cxx.

33  {
34  delete[] m_buffer;
35  m_buffer = new char[newsize];
36  m_buffersize = newsize;
37  }

Member Data Documentation

◆ m_buffer

char* offline_EventStorage_v5::DataBuffer::implementation::m_buffer
private

Definition at line 59 of file v5_DataBuffer.cxx.

◆ m_buffersize

uint32_t offline_EventStorage_v5::DataBuffer::implementation::m_buffersize
private

Definition at line 60 of file v5_DataBuffer.cxx.


The documentation for this class was generated from the following file:
offline_EventStorage_v5::DataBuffer::implementation::m_buffer
char * m_buffer
Definition: v5_DataBuffer.cxx:59
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
offline_EventStorage_v5::DataBuffer::implementation::m_buffersize
uint32_t m_buffersize
Definition: v5_DataBuffer.cxx:60