gwenhywfar 5.12.0
simpleptrlist.h File Reference
#include <gwenhywfar/types.h>
#include <gwenhywfar/inherit.h>
Include dependency graph for simpleptrlist.h:

Go to the source code of this file.

Macros

#define GWEN_SIMPLEPTRLIST_FLAGS_ATTACHTOOBJECTS   0x40000000L
#define GWEN_SIMPLEPTRLIST_FLAGS_DETACHFROMOBJECTS   0x20000000L

Typedefs

typedef struct GWEN_SIMPLEPTRLIST GWEN_SIMPLEPTRLIST
typedef GWENHYWFAR_CB void(* GWEN_SIMPLEPTRLIST_ATTACHOBJECT_FN) (GWEN_SIMPLEPTRLIST *pl, void *p)
typedef GWENHYWFAR_CB void(* GWEN_SIMPLEPTRLIST_FREEOBJECT_FN) (GWEN_SIMPLEPTRLIST *pl, void *p)

Functions

GWENHYWFAR_API void GWEN_SimplePtrList_AddFlags (GWEN_SIMPLEPTRLIST *pl, uint32_t f)
GWENHYWFAR_API int64_t GWEN_SimplePtrList_AddPtr (GWEN_SIMPLEPTRLIST *pl, void *p)
GWENHYWFAR_API void GWEN_SimplePtrList_Attach (GWEN_SIMPLEPTRLIST *pl)
GWENHYWFAR_API void GWEN_SimplePtrList_Clear (GWEN_SIMPLEPTRLIST *pl)
GWENHYWFAR_API int GWEN_SimplePtrList_DecUserCounter (GWEN_SIMPLEPTRLIST *pl)
GWENHYWFAR_API int GWEN_SimplePtrList_EnsureWritability (GWEN_SIMPLEPTRLIST *pl)
GWENHYWFAR_API void GWEN_SimplePtrList_free (GWEN_SIMPLEPTRLIST *pl)
GWENHYWFAR_API void * GWEN_SimplePtrList_GetEntries (const GWEN_SIMPLEPTRLIST *pl)
GWENHYWFAR_API uint32_t GWEN_SimplePtrList_GetFlags (const GWEN_SIMPLEPTRLIST *pl)
GWENHYWFAR_API uint64_t GWEN_SimplePtrList_GetMaxEntries (const GWEN_SIMPLEPTRLIST *pl)
GWENHYWFAR_API void * GWEN_SimplePtrList_GetPtrAt (const GWEN_SIMPLEPTRLIST *pl, uint64_t idx)
GWENHYWFAR_API uint64_t GWEN_SimplePtrList_GetSteps (const GWEN_SIMPLEPTRLIST *pl)
GWENHYWFAR_API uint64_t GWEN_SimplePtrList_GetUsedEntries (const GWEN_SIMPLEPTRLIST *pl)
GWENHYWFAR_API uint64_t GWEN_SimplePtrList_GetUserCounter (const GWEN_SIMPLEPTRLIST *pl)
GWENHYWFAR_API int GWEN_SimplePtrList_GetUserIntData (const GWEN_SIMPLEPTRLIST *pl)
GWENHYWFAR_API void GWEN_SimplePtrList_IncUserCounter (GWEN_SIMPLEPTRLIST *pl)
GWENHYWFAR_API GWEN_SIMPLEPTRLISTGWEN_SimplePtrList_LazyCopy (GWEN_SIMPLEPTRLIST *oldList)
GWENHYWFAR_API GWEN_SIMPLEPTRLISTGWEN_SimplePtrList_new (uint64_t startEntries, uint64_t steps)
GWENHYWFAR_API GWEN_SIMPLEPTRLIST_ATTACHOBJECT_FN GWEN_SimplePtrList_SetAttachObjectFn (GWEN_SIMPLEPTRLIST *pl, GWEN_SIMPLEPTRLIST_ATTACHOBJECT_FN fn)
GWENHYWFAR_API void GWEN_SimplePtrList_SetFlags (GWEN_SIMPLEPTRLIST *pl, uint32_t f)
GWENHYWFAR_API GWEN_SIMPLEPTRLIST_FREEOBJECT_FN GWEN_SimplePtrList_SetFreeObjectFn (GWEN_SIMPLEPTRLIST *pl, GWEN_SIMPLEPTRLIST_FREEOBJECT_FN fn)
GWENHYWFAR_API int GWEN_SimplePtrList_SetPtrAt (GWEN_SIMPLEPTRLIST *pl, uint64_t idx, void *p)
GWENHYWFAR_API void GWEN_SimplePtrList_SetSteps (GWEN_SIMPLEPTRLIST *pl, uint64_t steps)
GWENHYWFAR_API void GWEN_SimplePtrList_SetUserCounter (GWEN_SIMPLEPTRLIST *pl, uint64_t i)
GWENHYWFAR_API void GWEN_SimplePtrList_SetUserIntData (GWEN_SIMPLEPTRLIST *pl, int i)
GWENHYWFAR_API void GWEN_SimplePtrList_SubFlags (GWEN_SIMPLEPTRLIST *pl, uint32_t f)

Macro Definition Documentation

◆ GWEN_SIMPLEPTRLIST_FLAGS_ATTACHTOOBJECTS

#define GWEN_SIMPLEPTRLIST_FLAGS_ATTACHTOOBJECTS   0x40000000L

◆ GWEN_SIMPLEPTRLIST_FLAGS_DETACHFROMOBJECTS

#define GWEN_SIMPLEPTRLIST_FLAGS_DETACHFROMOBJECTS   0x20000000L

Typedef Documentation

◆ GWEN_SIMPLEPTRLIST

Definition at line 38 of file simpleptrlist.h.

◆ GWEN_SIMPLEPTRLIST_ATTACHOBJECT_FN

typedef GWENHYWFAR_CB void(* GWEN_SIMPLEPTRLIST_ATTACHOBJECT_FN) (GWEN_SIMPLEPTRLIST *pl, void *p)

Definition at line 43 of file simpleptrlist.h.

◆ GWEN_SIMPLEPTRLIST_FREEOBJECT_FN

typedef GWENHYWFAR_CB void(* GWEN_SIMPLEPTRLIST_FREEOBJECT_FN) (GWEN_SIMPLEPTRLIST *pl, void *p)

Definition at line 44 of file simpleptrlist.h.

Function Documentation

◆ GWEN_SimplePtrList_AddFlags()

GWENHYWFAR_API void GWEN_SimplePtrList_AddFlags ( GWEN_SIMPLEPTRLIST * pl,
uint32_t f )

Definition at line 384 of file simpleptrlist.c.

Referenced by GWEN_IdList64_newWithSteps().

Here is the caller graph for this function:

◆ GWEN_SimplePtrList_AddPtr()

GWENHYWFAR_API int64_t GWEN_SimplePtrList_AddPtr ( GWEN_SIMPLEPTRLIST * pl,
void * p )

Definition at line 276 of file simpleptrlist.c.

References _attachToObject(), _reallocPtrList(), DBG_ERROR, DBG_INFO, GWEN_ERROR_MEMORY_FULL, GWEN_LOGDOMAIN, GWEN_SimplePtrList_EnsureWritability(), GWEN_SIMPLEPTRLIST_FLAGS_ATTACHTOOBJECTS, and NULL.

Referenced by GWEN_IdList64_AddTable().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_SimplePtrList_Attach()

GWENHYWFAR_API void GWEN_SimplePtrList_Attach ( GWEN_SIMPLEPTRLIST * pl)

Definition at line 113 of file simpleptrlist.c.

Referenced by GWEN_IdList64_Attach().

Here is the caller graph for this function:

◆ GWEN_SimplePtrList_Clear()

GWENHYWFAR_API void GWEN_SimplePtrList_Clear ( GWEN_SIMPLEPTRLIST * pl)

Definition at line 145 of file simpleptrlist.c.

References _detachFromAllObjects(), GWEN_SIMPLEPTRLIST_FLAGS_DETACHFROMOBJECTS, and NULL.

Referenced by GWEN_IdList64_Clear().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_SimplePtrList_DecUserCounter()

GWENHYWFAR_API int GWEN_SimplePtrList_DecUserCounter ( GWEN_SIMPLEPTRLIST * pl)

Definition at line 208 of file simpleptrlist.c.

References GWEN_ERROR_INVALID.

Referenced by GWEN_IdList64_DecIdCounter().

Here is the caller graph for this function:

◆ GWEN_SimplePtrList_EnsureWritability()

GWENHYWFAR_API int GWEN_SimplePtrList_EnsureWritability ( GWEN_SIMPLEPTRLIST * pl)

Definition at line 622 of file simpleptrlist.c.

References _attachToAllObjects(), _copyPtrList(), _freePtrList(), DBG_ERROR, DBG_VERBOUS, GWEN_ERROR_MEMORY_FULL, GWEN_LOGDOMAIN, GWEN_SIMPLEPTRLIST_FLAGS_ATTACHTOOBJECTS, and NULL.

Referenced by GWEN_IdList64_AddId(), GWEN_SimplePtrList_AddPtr(), and GWEN_SimplePtrList_SetPtrAt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_SimplePtrList_free()

GWENHYWFAR_API void GWEN_SimplePtrList_free ( GWEN_SIMPLEPTRLIST * pl)

Definition at line 122 of file simpleptrlist.c.

References _detachFromAllObjects(), _freePtrList(), DBG_VERBOUS, GWEN_FREE_OBJECT, GWEN_INHERIT_FINI, GWEN_LOGDOMAIN, GWEN_SIMPLEPTRLIST_FLAGS_DETACHFROMOBJECTS, and NULL.

Referenced by GWEN_IdList64_free().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_SimplePtrList_GetEntries()

GWENHYWFAR_API void * GWEN_SimplePtrList_GetEntries ( const GWEN_SIMPLEPTRLIST * pl)

Definition at line 357 of file simpleptrlist.c.

◆ GWEN_SimplePtrList_GetFlags()

GWENHYWFAR_API uint32_t GWEN_SimplePtrList_GetFlags ( const GWEN_SIMPLEPTRLIST * pl)

Definition at line 366 of file simpleptrlist.c.

◆ GWEN_SimplePtrList_GetMaxEntries()

GWENHYWFAR_API uint64_t GWEN_SimplePtrList_GetMaxEntries ( const GWEN_SIMPLEPTRLIST * pl)

Definition at line 339 of file simpleptrlist.c.

◆ GWEN_SimplePtrList_GetPtrAt()

GWENHYWFAR_API void * GWEN_SimplePtrList_GetPtrAt ( const GWEN_SIMPLEPTRLIST * pl,
uint64_t idx )

Definition at line 225 of file simpleptrlist.c.

References DBG_ERROR, GWEN_LOGDOMAIN, and NULL.

Referenced by GWEN_IdList64_GetTableAt().

Here is the caller graph for this function:

◆ GWEN_SimplePtrList_GetSteps()

GWENHYWFAR_API uint64_t GWEN_SimplePtrList_GetSteps ( const GWEN_SIMPLEPTRLIST * pl)

Definition at line 321 of file simpleptrlist.c.

◆ GWEN_SimplePtrList_GetUsedEntries()

GWENHYWFAR_API uint64_t GWEN_SimplePtrList_GetUsedEntries ( const GWEN_SIMPLEPTRLIST * pl)

Definition at line 348 of file simpleptrlist.c.

Referenced by GWEN_IdList64_dup(), GWEN_IdList64_GetLastTablePos(), and GWEN_IdList64_GetUsedTables().

Here is the caller graph for this function:

◆ GWEN_SimplePtrList_GetUserCounter()

GWENHYWFAR_API uint64_t GWEN_SimplePtrList_GetUserCounter ( const GWEN_SIMPLEPTRLIST * pl)

Definition at line 190 of file simpleptrlist.c.

Referenced by GWEN_IdList64_dup(), and GWEN_IdList64_GetEntryCount().

Here is the caller graph for this function:

◆ GWEN_SimplePtrList_GetUserIntData()

GWENHYWFAR_API int GWEN_SimplePtrList_GetUserIntData ( const GWEN_SIMPLEPTRLIST * pl)

Definition at line 163 of file simpleptrlist.c.

Referenced by GWEN_IdList64_dup(), GWEN_IdList64_GetIdAt(), and GWEN_IdList64_GetTableMaxEntries().

Here is the caller graph for this function:

◆ GWEN_SimplePtrList_IncUserCounter()

GWENHYWFAR_API void GWEN_SimplePtrList_IncUserCounter ( GWEN_SIMPLEPTRLIST * pl)

Definition at line 199 of file simpleptrlist.c.

Referenced by GWEN_IdList64_IncIdCounter().

Here is the caller graph for this function:

◆ GWEN_SimplePtrList_LazyCopy()

GWENHYWFAR_API GWEN_SIMPLEPTRLIST * GWEN_SimplePtrList_LazyCopy ( GWEN_SIMPLEPTRLIST * oldList)

Definition at line 88 of file simpleptrlist.c.

References _attachToPtrList(), GWEN_INHERIT_INIT, and GWEN_NEW_OBJECT.

Referenced by GWEN_IdList64_LazyCopy().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_SimplePtrList_new()

GWENHYWFAR_API GWEN_SIMPLEPTRLIST * GWEN_SimplePtrList_new ( uint64_t startEntries,
uint64_t steps )

Definition at line 71 of file simpleptrlist.c.

References _mallocPtrList(), GWEN_INHERIT_INIT, GWEN_NEW_OBJECT, and GWEN_SimplePtrList_new().

Referenced by GWEN_IdList64_newWithSteps(), and GWEN_SimplePtrList_new().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_SimplePtrList_SetAttachObjectFn()

Definition at line 402 of file simpleptrlist.c.

Referenced by GWEN_IdList64_newWithSteps().

Here is the caller graph for this function:

◆ GWEN_SimplePtrList_SetFlags()

GWENHYWFAR_API void GWEN_SimplePtrList_SetFlags ( GWEN_SIMPLEPTRLIST * pl,
uint32_t f )

Definition at line 375 of file simpleptrlist.c.

◆ GWEN_SimplePtrList_SetFreeObjectFn()

Definition at line 417 of file simpleptrlist.c.

Referenced by GWEN_IdList64_newWithSteps().

Here is the caller graph for this function:

◆ GWEN_SimplePtrList_SetPtrAt()

GWENHYWFAR_API int GWEN_SimplePtrList_SetPtrAt ( GWEN_SIMPLEPTRLIST * pl,
uint64_t idx,
void * p )

◆ GWEN_SimplePtrList_SetSteps()

GWENHYWFAR_API void GWEN_SimplePtrList_SetSteps ( GWEN_SIMPLEPTRLIST * pl,
uint64_t steps )

Definition at line 330 of file simpleptrlist.c.

◆ GWEN_SimplePtrList_SetUserCounter()

GWENHYWFAR_API void GWEN_SimplePtrList_SetUserCounter ( GWEN_SIMPLEPTRLIST * pl,
uint64_t i )

Definition at line 181 of file simpleptrlist.c.

Referenced by GWEN_IdList64_Clear(), and GWEN_IdList64_dup().

Here is the caller graph for this function:

◆ GWEN_SimplePtrList_SetUserIntData()

GWENHYWFAR_API void GWEN_SimplePtrList_SetUserIntData ( GWEN_SIMPLEPTRLIST * pl,
int i )

Definition at line 172 of file simpleptrlist.c.

Referenced by GWEN_IdList64_newWithSteps().

Here is the caller graph for this function:

◆ GWEN_SimplePtrList_SubFlags()

GWENHYWFAR_API void GWEN_SimplePtrList_SubFlags ( GWEN_SIMPLEPTRLIST * pl,
uint32_t f )

Definition at line 393 of file simpleptrlist.c.