gwenhywfar
4.8.0beta
|
#include <gwenhywfar/types.h>
#include <stdio.h>
Go to the source code of this file.
Macros | |
Macros for Typesafe ID maps | |
#define | GWEN_DUMMY_EMPTY_ARG |
#define | GWEN_IDMAP_FUNCTION_LIB_DEFS(t, pr, decl) |
#define | GWEN_IDMAP_FUNCTION_DEFS(t, pr) GWEN_IDMAP_FUNCTION_LIB_DEFS(t, pr, GWEN_DUMMY_EMPTY_ARG) |
#define | GWEN_IDMAP_FUNCTIONS(t, pr) |
Typedefs | |
typedef struct GWEN_IDMAP | GWEN_IDMAP |
Enumerations | |
enum | GWEN_IDMAP_ALGO { GWEN_IdMapAlgo_Unknown = 0, GWEN_IdMapAlgo_Hex4 } |
enum | GWEN_IDMAP_RESULT { GWEN_IdMapResult_Ok = 0, GWEN_IdMapResult_NoFit, GWEN_IdMapResult_NotFound } |
Functions | |
GWENHYWFAR_API void | GWEN_IdMap_Clear (GWEN_IDMAP *map) |
GWENHYWFAR_API void | GWEN_IdMap_Dump (GWEN_IDMAP *map, FILE *f, int indent) |
GWENHYWFAR_API void * | GWEN_IdMap_Find (GWEN_IDMAP *map, uint32_t id) |
GWENHYWFAR_API void | GWEN_IdMap_free (GWEN_IDMAP *map) |
GWENHYWFAR_API GWEN_IDMAP_RESULT | GWEN_IdMap_GetFirst (const GWEN_IDMAP *map, uint32_t *pid) |
GWENHYWFAR_API GWEN_IDMAP_RESULT | GWEN_IdMap_GetNext (const GWEN_IDMAP *map, uint32_t *pid) |
GWENHYWFAR_API uint32_t | GWEN_IdMap_GetSize (const GWEN_IDMAP *map) |
GWENHYWFAR_API GWEN_IDMAP_RESULT | GWEN_IdMap_Insert (GWEN_IDMAP *map, uint32_t id, void *ptr) |
GWENHYWFAR_API GWEN_IDMAP * | GWEN_IdMap_new (GWEN_IDMAP_ALGO algo) |
GWENHYWFAR_API GWEN_IDMAP_RESULT | GWEN_IdMap_Remove (GWEN_IDMAP *map, uint32_t id) |
#define GWEN_DUMMY_EMPTY_ARG |
#define GWEN_IDMAP_FUNCTION_DEFS | ( | t, | |
pr | |||
) | GWEN_IDMAP_FUNCTION_LIB_DEFS(t, pr, GWEN_DUMMY_EMPTY_ARG) |
#define GWEN_IDMAP_FUNCTION_LIB_DEFS | ( | t, | |
pr, | |||
decl | |||
) |
typedef struct GWEN_IDMAP GWEN_IDMAP |
enum GWEN_IDMAP_ALGO |
enum GWEN_IDMAP_RESULT |
GWENHYWFAR_API void GWEN_IdMap_Clear | ( | GWEN_IDMAP * | map | ) |
Definition at line 128 of file idmap.c.
References DBG_ERROR, GWEN_IdMapAlgo_Hex4, GWEN_IdMapAlgo_Unknown, GWEN_IdMapHex4_Extend(), and GWEN_LOGDOMAIN.
GWENHYWFAR_API void GWEN_IdMap_Dump | ( | GWEN_IDMAP * | map, |
FILE * | f, | ||
int | indent | ||
) |
Definition at line 146 of file idmap.c.
References DBG_ERROR, and GWEN_LOGDOMAIN.
GWENHYWFAR_API void* GWEN_IdMap_Find | ( | GWEN_IDMAP * | map, |
uint32_t | id | ||
) |
GWENHYWFAR_API void GWEN_IdMap_free | ( | GWEN_IDMAP * | map | ) |
GWENHYWFAR_API GWEN_IDMAP_RESULT GWEN_IdMap_GetFirst | ( | const GWEN_IDMAP * | map, |
uint32_t * | pid | ||
) |
Return the first id in the map.
map | map to browse |
pid | pointer to a variable to receive the first id in the map. Upon return this variable will be updated to the first id in the map if the result is GWEN_IdMapResult_Ok. |
GWENHYWFAR_API GWEN_IDMAP_RESULT GWEN_IdMap_GetNext | ( | const GWEN_IDMAP * | map, |
uint32_t * | pid | ||
) |
Return the next id in the map.
map | map to browse |
pid | pointer to the id retrieved via GWEN_IdMap_GetFirst. Upon return this variable will be updated to the next id in the map if the result is GWEN_IdMapResult_Ok. |
GWENHYWFAR_API uint32_t GWEN_IdMap_GetSize | ( | const GWEN_IDMAP * | map | ) |
GWENHYWFAR_API GWEN_IDMAP_RESULT GWEN_IdMap_Insert | ( | GWEN_IDMAP * | map, |
uint32_t | id, | ||
void * | ptr | ||
) |
GWENHYWFAR_API GWEN_IDMAP* GWEN_IdMap_new | ( | GWEN_IDMAP_ALGO | algo | ) |
Definition at line 45 of file idmap.c.
References DBG_ERROR, GWEN_IdMap_free(), GWEN_IdMapAlgo_Hex4, GWEN_IdMapAlgo_Unknown, GWEN_IdMapHex4_Extend(), GWEN_LOGDOMAIN, and GWEN_NEW_OBJECT.
GWENHYWFAR_API GWEN_IDMAP_RESULT GWEN_IdMap_Remove | ( | GWEN_IDMAP * | map, |
uint32_t | id | ||
) |