foobar2000 SDK  2015-01-14
Public Member Functions | Private Attributes
mem_block_container_aligned_incremental_impl< alignBytes >

#include <mem_block_container.h>

+ Inheritance diagram for mem_block_container_aligned_incremental_impl< alignBytes >:

Public Member Functions

 mem_block_container_aligned_incremental_impl ()
 
const void * get_ptr () const
 
void * get_ptr ()
 
t_size get_size () const
 
void set_size (t_size p_size)
 
- Public Member Functions inherited from mem_block_container
void copy (const mem_block_container &p_source)
 
void from_stream (stream_reader *p_stream, t_size p_bytes, abort_callback &p_abort)
 
const mem_block_containeroperator= (const mem_block_container &p_source)
 
void reset ()
 
void set (const void *p_buffer, t_size p_size)
 
void set (const mem_block_container &source)
 
template<typename t_source >
void set (const t_source &source)
 

Private Attributes

pfc::mem_block_aligned< 16 > m_data
 
size_t m_size
 

Additional Inherited Members

- Protected Member Functions inherited from mem_block_container
 mem_block_container ()
 
 ~mem_block_container ()
 

Detailed Description

template<unsigned alignBytes = 16>
class mem_block_container_aligned_incremental_impl< alignBytes >

Definition at line 54 of file mem_block_container.h.

Constructor & Destructor Documentation

template<unsigned alignBytes = 16>
mem_block_container_aligned_incremental_impl< alignBytes >::mem_block_container_aligned_incremental_impl ( )
inline

Member Function Documentation

template<unsigned alignBytes = 16>
const void* mem_block_container_aligned_incremental_impl< alignBytes >::get_ptr ( ) const
inlinevirtual

Implements mem_block_container.

Definition at line 57 of file mem_block_container.h.

57 {return m_data.get_ptr();}
template<unsigned alignBytes = 16>
void* mem_block_container_aligned_incremental_impl< alignBytes >::get_ptr ( )
inlinevirtual

Implements mem_block_container.

Definition at line 58 of file mem_block_container.h.

58 {return m_data.get_ptr();}
template<unsigned alignBytes = 16>
t_size mem_block_container_aligned_incremental_impl< alignBytes >::get_size ( ) const
inlinevirtual

Implements mem_block_container.

Definition at line 59 of file mem_block_container.h.

template<unsigned alignBytes = 16>
void mem_block_container_aligned_incremental_impl< alignBytes >::set_size ( t_size  p_size)
inlinevirtual

Implements mem_block_container.

Definition at line 60 of file mem_block_container.h.

60  {
61  if (m_data.size() < p_size) {
62  m_data.resize( pfc::multiply_guarded<size_t>(p_size, 3) / 2 );
63  }
64  m_size = p_size;
65  }
size_t size() const
Definition: memalign.h:16
void resize(size_t s)
Definition: memalign.h:19

Field Documentation

template<unsigned alignBytes = 16>
pfc::mem_block_aligned<16> mem_block_container_aligned_incremental_impl< alignBytes >::m_data
private

Definition at line 67 of file mem_block_container.h.

template<unsigned alignBytes = 16>
size_t mem_block_container_aligned_incremental_impl< alignBytes >::m_size
private

Definition at line 68 of file mem_block_container.h.


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