gwenhywfar  4.11.0beta
Functions
Pointer list module
Basic Stuff

A list of pointers. More...

Functions

GWENHYWFAR_API int GWEN_PointerList_AddPtr (GWEN_POINTERLIST *idl, void *ptr)
GWENHYWFAR_API int GWEN_PointerList_AppendPtr (GWEN_POINTERLIST *idl, void *ptr)
GWENHYWFAR_API void GWEN_PointerList_Attach (GWEN_POINTERLIST *idl)
GWENHYWFAR_API void GWEN_PointerList_Clear (GWEN_POINTERLIST *idl)
GWENHYWFAR_API int GWEN_PointerList_DelPtr (GWEN_POINTERLIST *idl, void *ptr)
GWENHYWFAR_API GWEN_POINTERLISTGWEN_PointerList_dup (const GWEN_POINTERLIST *idl)
GWENHYWFAR_API void GWEN_PointerList_free (GWEN_POINTERLIST *idl)
GWENHYWFAR_API uint64_t GWEN_PointerList_GetEntryCount (const GWEN_POINTERLIST *idl)
GWENHYWFAR_API void * GWEN_PointerList_GetFirstPtr (const GWEN_POINTERLIST *idl, uint64_t *hdl)
GWENHYWFAR_API void * GWEN_PointerList_GetNextPtr (const GWEN_POINTERLIST *idl, uint64_t *hdl)
GWENHYWFAR_API void * GWEN_PointerList_GetPtrAt (const GWEN_POINTERLIST *idl, uint64_t index)
GWENHYWFAR_API int GWEN_PointerList_HasPtr (const GWEN_POINTERLIST *idl, void *ptr)
GWENHYWFAR_API GWEN_POINTERLISTGWEN_PointerList_new (void)

Detailed Description

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.

Function Documentation

GWENHYWFAR_API int GWEN_PointerList_AddPtr ( GWEN_POINTERLIST idl,
void *  ptr 
)

Adds a ptr to the list. This function does no doublecheck.

GWENHYWFAR_API int GWEN_PointerList_AppendPtr ( GWEN_POINTERLIST idl,
void *  ptr 
)

Always append ptr at the end of the list.

GWENHYWFAR_API void GWEN_PointerList_Attach ( GWEN_POINTERLIST idl)
GWENHYWFAR_API void GWEN_PointerList_Clear ( GWEN_POINTERLIST idl)

Removes all ptrs from the list thus leaving it empty.

GWENHYWFAR_API int GWEN_PointerList_DelPtr ( GWEN_POINTERLIST idl,
void *  ptr 
)

Removes the first occurrence of the given ptr.

Returns
0 if deleted, !=0 if the ptr wasn't found
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!.

GWENHYWFAR_API void GWEN_PointerList_free ( GWEN_POINTERLIST idl)

Destructor.

GWENHYWFAR_API uint64_t GWEN_PointerList_GetEntryCount ( const GWEN_POINTERLIST idl)
GWENHYWFAR_API void* GWEN_PointerList_GetFirstPtr ( const GWEN_POINTERLIST idl,
uint64_t *  hdl 
)
GWENHYWFAR_API void* GWEN_PointerList_GetNextPtr ( const GWEN_POINTERLIST idl,
uint64_t *  hdl 
)
GWENHYWFAR_API void* GWEN_PointerList_GetPtrAt ( const GWEN_POINTERLIST idl,
uint64_t  index 
)
GWENHYWFAR_API int GWEN_PointerList_HasPtr ( const GWEN_POINTERLIST idl,
void *  ptr 
)

Checks whether the given ptr exists in the ptrlist.

Returns
0 if found, !=0 otherwise
GWENHYWFAR_API GWEN_POINTERLIST* GWEN_PointerList_new ( void  )

Constructor.