Vector 1.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Extension

Support for derived classes. More...

Collaboration diagram for Extension:

Functions

void * vector_get_ext_header (const vector_t *const vector)
 Provides a location where user can put a header for the derived class.
 
size_t vector_ext_header_size (const vector_t *const vector)
 Retrieves extended header size.
 
size_t vector_data_offset (const vector_t *const vector)
 Compute offset from vector_t::memory to first element.
 

Detailed Description

Support for derived classes.

Function Documentation

◆ vector_get_ext_header()

void * vector_get_ext_header ( const vector_t *const vector)

Provides a location where user can put a header for the derived class.

Function returns a pointer to reserved space after vector's control struct. Space for the header extension has to be preallocated on vector creation, size of this region is specified by vector_t::ext_header_size property in vector_opts_t struct.

Parameters
[in]vectorPointer to vector.
Returns
Pointer to vector_t::memory

Definition at line 162 of file vector.c.

◆ vector_ext_header_size()

size_t vector_ext_header_size ( const vector_t *const vector)

Retrieves extended header size.

Returns full hierarchy extension size.

Parameters
[in]vectorPointer to vector.
Returns
Total size of extensions in bytes.

Definition at line 170 of file vector.c.

◆ vector_data_offset()

size_t vector_data_offset ( const vector_t *const vector)

Compute offset from vector_t::memory to first element.

Parameters
[in]vectorPointer to vector.
Returns
Data offset in bytes

Definition at line 177 of file vector.c.