libGimbal 0.1.0
C17-Based Extended Standard Library and Cross-Language Runtime Framework
Loading...
Searching...
No Matches
gimbal_array_heap.h File Reference

Go to the source code of this file.

Data Structures

struct  GblArrayHeap
 

Typedefs

typedef int(* GblArrayHeapCmpFn) (const void *pEntry1, const void *pEntry2)
 

Functions

GBL_RESULT GblArrayHeap_construct (GblArrayHeap *pSelf, size_t elemSize, GblArrayHeapCmpFn pFnCmp, size_t structSize, GblContext *pCtx)
 
GBL_RESULT GblArrayHeap_acquire (GblArrayHeap *pSelf, void *pData, size_t size, size_t capacity)
 
GBL_RESULT GblArrayHeap_release (GblArrayHeap *pSelf, void **ppData, size_t *pSize, size_t *pCapacity)
 
GBL_RESULT GblArrayHeap_destruct (GblArrayHeap *pSelf)
 
GBL_RESULT GblArrayHeap_copy (GblArrayHeap *pSelf, const GblArrayHeap *pRhs)
 
GBL_RESULT GblArrayHeap_move (GblArrayHeap *pSelf, GblArrayHeap *pRhs)
 
GblContextGblArrayHeap_context (const GblArrayHeap *pSelf)
 
size_t GblArrayHeap_elementSize (const GblArrayHeap *pSelf)
 
size_t GblArrayHeap_size (const GblArrayHeap *pSelf)
 
size_t GblArrayHeap_capacity (const GblArrayHeap *pSelf)
 
GblBool GblArrayHeap_empty (const GblArrayHeap *pSelf)
 
GblBool GblArrayHeap_stack (const GblArrayHeap *pSelf)
 
void * GblArrayHeap_data (const GblArrayHeap *pSelf)
 
void * GblArrayHeap_peek (const GblArrayHeap *pSelf)
 
GBL_RESULT GblArrayHeap_pop (GblArrayHeap *pSelf, void *pEntryOut)
 
GBL_RESULT GblArrayHeap_push (GblArrayHeap *pSelf, const void *pEntry)
 
GBL_RESULT GblArrayHeap_clear (GblArrayHeap *pSelf)
 
GBL_RESULT GblArrayHeap_reserve (GblArrayHeap *pSelf, size_t capacity)
 
GBL_RESULT GblArrayHeap_shrinkToFit (GblArrayHeap *pSelf)
 

Detailed Description

GblArrayHeap container and related functions.

Array-based binary heap implementing priority queue.

GblArrayHeap is a dynamic array-backed (GblArrayList) binary heap, providing a priority queue implementation.

Note
As GblArrayMap is backed by GblArrayList, it also can be over-allocated to provide additional storage for the underlying data before bleeding over an allocating storage from the heap.
See also
GblArrayList
Author
Falco Girgis

Definition in file gimbal_array_heap.h.

Typedef Documentation

◆ GblArrayHeapCmpFn

typedef int(* GblArrayHeapCmpFn) (const void *pEntry1, const void *pEntry2)

Definition at line 17 of file gimbal_array_heap.h.