enhance ordq

This commit is contained in:
Rongsong Shen 2025-12-16 17:04:04 +08:00
parent c478ea8516
commit 05abed1964
4 changed files with 18 additions and 3 deletions

View file

@ -14,7 +14,7 @@ typedef struct _ordq_item {
void* data;
} ordq_item_t;
typedef int (*ordq_cmp_fn_t)(ordkey_t, ordkey_t);
typedef int (*ordq_cmp_fn_t)(void*, ordkey_t, ordkey_t);
typedef void (*ordq_data_killer_t)(void*);
typedef struct {
@ -22,6 +22,7 @@ typedef struct {
ordq_item_t* head;
ordq_data_killer_t killer;
ordq_cmp_fn_t cmp;
void* ctx;
} ordq_t;
#define mk_ordkey(k) (ordkey_t)((long)(k))
@ -31,5 +32,6 @@ extern void ordq_fini(ordq_t* q);
extern int ordq_put(ordq_t*, ordkey_t, void*);
extern ordq_item_t* ordq_get(ordq_t*);
extern ordq_item_t* ordq_peek(ordq_t*);
extern void ordq_set_ctx(ordq_t*, void*);
#endif