Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
OutputBufferManager Class Reference

#include <stream.h>

Public Member Functions

 OutputBufferManager ()
 
void Reset ()
 
void SetBuffer (u8 *buffer, size_t size)
 
void AllocateBuffer (size_t size)
 allocate a new output buffer. More...
 
u8Buffer () const
 
size_t Size () const
 

Private Member Functions

bool IsAllowableBuffer (u8 *buffer, size_t size)
 

Private Attributes

u8m_buffer
 
size_t m_size
 
shared_ptr< u8m_mem
 
size_t m_capacity
 

Detailed Description

Definition at line 34 of file stream.h.

Constructor & Destructor Documentation

OutputBufferManager::OutputBufferManager ( )

Definition at line 34 of file stream.cpp.

Member Function Documentation

void OutputBufferManager::AllocateBuffer ( size_t  size)

allocate a new output buffer.

Parameters
size[bytes] to allocate.

notes:

  • if a buffer had previously been allocated and is large enough, it is reused (this reduces the number of allocations).
  • this class manages the lifetime of the buffer.

Definition at line 54 of file stream.cpp.

u8* OutputBufferManager::Buffer ( ) const
inline

Definition at line 54 of file stream.h.

bool OutputBufferManager::IsAllowableBuffer ( u8 buffer,
size_t  size 
)
private

Definition at line 74 of file stream.cpp.

void OutputBufferManager::Reset ( )

Definition at line 39 of file stream.cpp.

void OutputBufferManager::SetBuffer ( u8 buffer,
size_t  size 
)

Definition at line 46 of file stream.cpp.

size_t OutputBufferManager::Size ( ) const
inline

Definition at line 59 of file stream.h.

Member Data Documentation

u8* OutputBufferManager::m_buffer
private

Definition at line 67 of file stream.h.

size_t OutputBufferManager::m_capacity
private

Definition at line 74 of file stream.h.

shared_ptr<u8> OutputBufferManager::m_mem
private

Definition at line 70 of file stream.h.

size_t OutputBufferManager::m_size
private

Definition at line 68 of file stream.h.


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