gwenhywfar
4.8.0beta
|
A list of pointers. More...
A list of pointers.
This is basically a list for pointers, but since it uses tables instead of those list objects normally used throughout Gwen it is less memory consuming.
GWENHYWFAR_API int GWEN_PointerList_AddPtr | ( | GWEN_POINTERLIST * | idl, |
void * | ptr | ||
) |
Adds a ptr to the list. This function does no doublecheck.
Definition at line 245 of file pointerlist.c.
References GWEN_PointerList_AddTable(), GWEN_PointerListTable_AddPtr(), GWEN_PointerListTable_IsFull(), GWEN_PointerListTable_new(), and NULL.
GWENHYWFAR_API int GWEN_PointerList_AppendPtr | ( | GWEN_POINTERLIST * | idl, |
void * | ptr | ||
) |
Always append ptr at the end of the list.
Definition at line 511 of file pointerlist.c.
References GWEN_PointerList_AddTable(), GWEN_PointerListTable_AppendPtr(), GWEN_PointerListTable_IsFull(), GWEN_PointerListTable_new(), and NULL.
GWENHYWFAR_API void GWEN_PointerList_Attach | ( | GWEN_POINTERLIST * | idl | ) |
Definition at line 185 of file pointerlist.c.
Referenced by GWEN_PointerList_Iterator_new().
GWENHYWFAR_API void GWEN_PointerList_Clear | ( | GWEN_POINTERLIST * | idl | ) |
Removes all ptrs from the list thus leaving it empty.
Definition at line 334 of file pointerlist.c.
References GWEN_PointerListTable_free(), and NULL.
Referenced by GWEN_PointerList_free().
GWENHYWFAR_API int GWEN_PointerList_DelPtr | ( | GWEN_POINTERLIST * | idl, |
void * | ptr | ||
) |
Removes the first occurrence of the given ptr.
Definition at line 278 of file pointerlist.c.
References GWEN_PointerList_Clean(), GWEN_PointerListTable_DelPtr(), and NULL.
GWENHYWFAR_API GWEN_POINTERLIST* GWEN_PointerList_dup | ( | const GWEN_POINTERLIST * | idl | ) |
Returns a new id list which contains all the ids of the given list in the same order. However, the list returned might be more is compact (i.e. it has fewer wholes), so the positions of ids within the list might have changed!.
Definition at line 356 of file pointerlist.c.
References GWEN_PointerList_AddTable(), GWEN_PointerList_new(), GWEN_PointerListTable_IsEmpty(), and GWEN_PointerListTable_new().
GWENHYWFAR_API void GWEN_PointerList_free | ( | GWEN_POINTERLIST * | idl | ) |
Destructor.
Definition at line 193 of file pointerlist.c.
References GWEN_FREE_OBJECT, and GWEN_PointerList_Clear().
Referenced by GWEN_PointerList_Iterator_free().
GWENHYWFAR_API uint64_t GWEN_PointerList_GetEntryCount | ( | const GWEN_POINTERLIST * | idl | ) |
Definition at line 386 of file pointerlist.c.
GWENHYWFAR_API void* GWEN_PointerList_GetFirstPtr | ( | const GWEN_POINTERLIST * | idl, |
uint64_t * | hdl | ||
) |
Definition at line 395 of file pointerlist.c.
References GWEN_PointerListTable_IsEmpty(), and NULL.
Referenced by GWEN_PointerList_Iterator_GetFirstId().
GWENHYWFAR_API void* GWEN_PointerList_GetNextPtr | ( | const GWEN_POINTERLIST * | idl, |
uint64_t * | hdl | ||
) |
Definition at line 424 of file pointerlist.c.
References DBG_ERROR, GWEN_LOGDOMAIN, GWEN_PointerListTable_IsEmpty(), and NULL.
Referenced by GWEN_PointerList_Iterator_GetNextId().
GWENHYWFAR_API void* GWEN_PointerList_GetPtrAt | ( | const GWEN_POINTERLIST * | idl, |
uint64_t | index | ||
) |
Definition at line 537 of file pointerlist.c.
References DBG_INFO, GWEN_LOGDOMAIN, and NULL.
GWENHYWFAR_API int GWEN_PointerList_HasPtr | ( | const GWEN_POINTERLIST * | idl, |
void * | ptr | ||
) |
Checks whether the given ptr exists in the ptrlist.
Definition at line 300 of file pointerlist.c.
References GWEN_PointerListTable_HasPtr(), and NULL.
GWENHYWFAR_API GWEN_POINTERLIST* GWEN_PointerList_new | ( | void | ) |
Constructor.
Definition at line 174 of file pointerlist.c.
References GWEN_NEW_OBJECT.
Referenced by GWEN_PointerList_dup().