Kodi Documentation  18.0
Kodi is an open source media player and entertainment hub.
XUTILS::auto_buffer Class Reference

#include <auto_buffer.h>

Public Member Functions

 auto_buffer (void)=default
 
 auto_buffer (size_t size)
 
 ~auto_buffer ()
 
auto_bufferallocate (size_t size)
 
auto_bufferresize (size_t newSize)
 
auto_bufferclear (void)
 
char * get (void)
 
const char * get (void) const
 
size_t size (void) const
 
size_t length (void) const
 
auto_bufferattach (void *pointer, size_t size)
 
voiddetach (void)
 

Constructor & Destructor Documentation

§ auto_buffer() [1/2]

XUTILS::auto_buffer::auto_buffer ( void  )
default

Create buffer with zero size

§ auto_buffer() [2/2]

auto_buffer::auto_buffer ( size_t  size)
explicit

Create buffer with specified size

Parameters
sizeof created buffer

§ ~auto_buffer()

auto_buffer::~auto_buffer ( )

Member Function Documentation

§ allocate()

auto_buffer & auto_buffer::allocate ( size_t  size)

Allocate specified size for buffer, discarding current buffer content

Parameters
sizeof buffer to allocate
Returns
reference to itself

§ attach()

auto_buffer & auto_buffer::attach ( void pointer,
size_t  size 
)

Attach malloc'ed pointer to the buffer, discarding current buffer content Pointer must be acquired by malloc() or realloc(). Pointer will be automatically freed on destroy of the buffer.

Parameters
pointerto attach
sizeof new memory region pointed by pointer
Returns
reference to itself

§ clear()

auto_buffer & auto_buffer::clear ( void  )

Reset buffer to zero size

Returns
reference to itself

§ detach()

void * auto_buffer::detach ( void  )

Detach current buffer content from the buffer, reset buffer to zero size Caller is responsible to free memory by calling free() for returned pointer when pointer in not needed anymore

Returns
detached from buffer pointer to content

§ get() [1/2]

char* XUTILS::auto_buffer::get ( void  )
inline

Get pointer to buffer content

Returns
pointer to buffer content or NULL if buffer is zero size

§ get() [2/2]

const char* XUTILS::auto_buffer::get ( void  ) const
inline

Get constant pointer to buffer content

Returns
constant pointer to buffer content

§ length()

size_t XUTILS::auto_buffer::length ( void  ) const
inline

Get size of the buffer

Returns
size of the buffer

§ resize()

auto_buffer & auto_buffer::resize ( size_t  newSize)

Resize current buffer to new size. Buffer will be extended or truncated at the end.

Parameters
newSizeof buffer
Returns
reference to itself

§ size()

size_t XUTILS::auto_buffer::size ( void  ) const
inline

Get size of the buffer

Returns
size of the buffer

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