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

Go to the source code of this file.

Data Structures

struct  GblRingList
 

Macros

#define GBL_RING_LIST_NPOS
 
#define GblRingList_create(...)
 
#define GblRingList_copy(...)
 
#define GblRingList_unref(...)
 
#define GblRingList_pushBack(self, ...)
 
#define GblRingList_pushFront(self, ...)
 
#define GblRingList_insert(self, ...)
 
#define GblRingList_insertSorted(...)
 
#define GblRingList_splice(...)
 
#define GblRingList_popBack(...)
 
#define GblRingList_popFront(...)
 
#define GblRingList_remove(...)
 
#define GblRingList_sort(...)
 
#define GblRingList_foreach(...)
 
#define GblRingList_find(...)
 

Typedefs

typedef GblBool(* GblRingListIterFn) (void *pValue, void *pClosure)
 
typedef int(* GblRingListCmpFn) (const void *pVal1, const void *pVal2, void *pClosure)
 
typedef void *(* GblRingListCopyFn) (const void *pValue, void *pClosure)
 
typedef GBL_RESULT(* GblRingListDtorFn) (void *pValue, void *pClosure)
 

Functions

GblRingListGblRingList_createEmpty (void)
 
GblRingListGblRingList_create (void *pData,...)
 
GblRefCount GblRingList_unref (const GblRingList *pSelf, GblRingListDtorFn pFnDtor, void *pCl)
 
GblRingListGblRingList_ref (const GblRingList *pSelf)
 
GblRingListGblRingList_copy (const GblRingList *pSelf, GblRingListCopyFn pFnCpy, void *pCl)
 
GblRefCount GblRingList_refCount (const GblRingList *pSelf)
 
size_t GblRingList_size (const GblRingList *pSelf)
 
GblBool GblRingList_empty (const GblRingList *pSelf)
 
void * GblRingList_front (const GblRingList *pSelf)
 
void * GblRingList_back (const GblRingList *pSelf)
 
void * GblRingList_at (const GblRingList *pSelf, intptr_t index)
 
GBL_RESULT GblRingList_pushBack (GblRingList *pSelf,...)
 
GBL_RESULT GblRingList_pushBackVaList (GblRingList *pSelf, va_list *pList)
 
GBL_RESULT GblRingList_pushFront (GblRingList *pSelf,...)
 
GBL_RESULT GblRingList_pushFrontVaList (GblRingList *pSelf, va_list *plist)
 
GBL_RESULT GblRingList_insert (GblRingList *pSelf, intptr_t index,...)
 
GBL_RESULT GblRingList_insertVaList (GblRingList *pSelf, intptr_t index, va_list *pList)
 
void * GblRingList_replace (GblRingList *pSelf, intptr_t index, void *pData)
 
GBL_RESULT GblRingList_insertSorted (GblRingList *pSelf, void *pData, GblRingListCmpFn pFnCmp, void *pCl)
 
GblBool GblRingList_splice (GblRingList *pSelf, GblRingList *pOther, int32_t index)
 
void * GblRingList_popBack (GblRingList *pSelf, size_t count)
 
void * GblRingList_popFront (GblRingList *pSelf, size_t count)
 
void * GblRingList_remove (GblRingList *pSelf, intptr_t index, size_t count)
 
void * GblRingList_extract (GblRingList *pSelf, GblRingList *pNode)
 
GBL_RESULT GblRingList_clear (GblRingList *pSelf)
 
void GblRingList_sort (GblRingList *pSelf, GblRingListCmpFn pFnCmp, void *pCl)
 
void GblRingList_rotate (GblRingList *pSelf, intptr_t n)
 
void GblRingList_reverse (GblRingList *pSelf)
 
GblBool GblRingList_foreach (GblRingList *pSelf, GblRingListIterFn pFnIt, void *pCl)
 
size_t GblRingList_find (const GblRingList *pSelf, const void *pVal, GblRingListCmpFn pFnCmp, void *pCl)
 

Detailed Description

GblRingList structure and related functions.

Todo:
  • GblRingList_sort()
Author
Falco Girgis

Definition in file gimbal_ring_list.h.

Macro Definition Documentation

◆ GBL_RING_LIST_NPOS

#define GBL_RING_LIST_NPOS

Definition at line 16 of file gimbal_ring_list.h.

◆ GblRingList_create

#define GblRingList_create (   ...)

Definition at line 133 of file gimbal_ring_list.h.

◆ GblRingList_copy

#define GblRingList_copy (   ...)

Definition at line 134 of file gimbal_ring_list.h.

◆ GblRingList_unref

#define GblRingList_unref (   ...)

Definition at line 135 of file gimbal_ring_list.h.

◆ GblRingList_pushBack

#define GblRingList_pushBack (   self,
  ... 
)

Definition at line 136 of file gimbal_ring_list.h.

◆ GblRingList_pushFront

#define GblRingList_pushFront (   self,
  ... 
)

Definition at line 137 of file gimbal_ring_list.h.

◆ GblRingList_insert

#define GblRingList_insert (   self,
  ... 
)

Definition at line 138 of file gimbal_ring_list.h.

◆ GblRingList_insertSorted

#define GblRingList_insertSorted (   ...)

Definition at line 139 of file gimbal_ring_list.h.

◆ GblRingList_splice

#define GblRingList_splice (   ...)

Definition at line 140 of file gimbal_ring_list.h.

◆ GblRingList_popBack

#define GblRingList_popBack (   ...)

Definition at line 141 of file gimbal_ring_list.h.

◆ GblRingList_popFront

#define GblRingList_popFront (   ...)

Definition at line 142 of file gimbal_ring_list.h.

◆ GblRingList_remove

#define GblRingList_remove (   ...)

Definition at line 143 of file gimbal_ring_list.h.

◆ GblRingList_sort

#define GblRingList_sort (   ...)

Definition at line 144 of file gimbal_ring_list.h.

◆ GblRingList_foreach

#define GblRingList_foreach (   ...)

Definition at line 145 of file gimbal_ring_list.h.

◆ GblRingList_find

#define GblRingList_find (   ...)

Definition at line 146 of file gimbal_ring_list.h.

Typedef Documentation

◆ GblRingListIterFn

typedef GblBool(* GblRingListIterFn) (void *pValue, void *pClosure)

Definition at line 23 of file gimbal_ring_list.h.

◆ GblRingListCmpFn

typedef int(* GblRingListCmpFn) (const void *pVal1, const void *pVal2, void *pClosure)

Definition at line 24 of file gimbal_ring_list.h.

◆ GblRingListCopyFn

typedef void *(* GblRingListCopyFn) (const void *pValue, void *pClosure)

Definition at line 25 of file gimbal_ring_list.h.

◆ GblRingListDtorFn

typedef GBL_RESULT(* GblRingListDtorFn) (void *pValue, void *pClosure)

Definition at line 26 of file gimbal_ring_list.h.