48#include "xtc_export.h"
55typedef struct xtc_cskip xtc_cskip_t;
61typedef int (*xtc_cskip_cmp_fn)(
const void *a,
const void *b);
79XTC_API
int xtc_cskip_create(xtc_cskip_cmp_fn cmp, xtc_cskip_t **out);
87XTC_API
void xtc_cskip_destroy(xtc_cskip_t *s);
95XTC_API
int xtc_cskip_get(xtc_cskip_t *s,
const void *key,
106XTC_API
int xtc_cskip_insert(xtc_cskip_t *s,
void *key,
void *value,
107 void **out_old_value);
115XTC_API
int xtc_cskip_remove(xtc_cskip_t *s,
const void *key,
126XTC_API
int xtc_cskip_min(xtc_cskip_t *s,
void **out_key,
135XTC_API
int xtc_cskip_floor(xtc_cskip_t *s,
const void *key,
136 void **out_key,
void **out_value);
140XTC_API
size_t xtc_cskip_size(
const xtc_cskip_t *s);