Evo C++ Library v0.5.1
Public Member Functions | Public Attributes | List of all members
List< T, TSize >::Buf Struct Reference

#include <evo/list.h>

Detailed Description

template<class T, class TSize = SizeT>
struct evo::List< T, TSize >::Buf

List buffer data helper.

Public Member Functions

 Buf ()
 Constructor. More...
 
 ~Buf ()
 Destructor. More...
 
void clear ()
 Clear buffer data. More...
 
void free ()
 Free and uninitialize allocated buffer. More...
 
T * memalloc (Size size, Size used, Header *&header)
 Allocate new memory. More...
 
T * memalloc (Size size, Header *&header)
 Allocate new memory. More...
 
void memfree ()
 Free buffer memory. More...
 
T * memrealloc (Size size)
 Reallocate buffer memory. More...
 
T * replace (T *newptr, Header *newheader)
 Free and uninitialize current buffer and replace with new buffer. More...
 

Public Attributes

Headerheader
 Data header pointer, NULL if no buffer allocated. More...
 
T * ptr
 Data pointer, NULL if buffer not used. More...
 

Constructor & Destructor Documentation

◆ Buf()

Buf ( )
inline

Constructor.

◆ ~Buf()

~Buf ( )
inline

Destructor.

Member Function Documentation

◆ clear()

void clear ( )
inline

Clear buffer data.

  • Assumes buffer is not allocated

◆ free()

void free ( )
inline

Free and uninitialize allocated buffer.

◆ memalloc() [1/2]

T* memalloc ( Size  size,
Size  used,
Header *&  header 
)
inline

Allocate new memory.

  • This doesn't modify the current buffer, use to setup replacement buffer
Parameters
sizeNew buffer size
usedBuffer used value to set
headerStores pointer to header data [out]
Returns
Pointer to new buffer

◆ memalloc() [2/2]

T* memalloc ( Size  size,
Header *&  header 
)
inline

Allocate new memory.

Parameters
sizeNew buffer size
headerStores pointer to header data [out]
Returns
Pointer to new buffer

◆ memfree()

void memfree ( )
inline

Free buffer memory.

  • Assumes buffer is allocated

◆ memrealloc()

T* memrealloc ( Size  size)
inline

Reallocate buffer memory.

  • Assumes buffer is already allocated
Parameters
sizeNew buffer size - must be positive
Returns
Pointer to reallocated list buffer

◆ replace()

T* replace ( T *  newptr,
Header newheader 
)
inline

Free and uninitialize current buffer and replace with new buffer.

Parameters
newptrNew buffer pointer
newheaderNew buffer header
Returns
New buffer pointer

Member Data Documentation

◆ header

Header* header

Data header pointer, NULL if no buffer allocated.

◆ ptr

T* ptr

Data pointer, NULL if buffer not used.


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