47#include "xtc_export.h"
54typedef struct xtc_cskip xtc_cskip_t;
60typedef int (*xtc_cskip_cmp_fn)(
const void *a,
const void *b);
78XTC_API
int xtc_cskip_create(xtc_cskip_cmp_fn cmp, xtc_cskip_t **out);
86XTC_API
void xtc_cskip_destroy(xtc_cskip_t *s);
94XTC_API
int xtc_cskip_get(xtc_cskip_t *s,
const void *key,
105XTC_API
int xtc_cskip_insert(xtc_cskip_t *s,
void *key,
void *value,
106 void **out_old_value);
114XTC_API
int xtc_cskip_remove(xtc_cskip_t *s,
const void *key,
125XTC_API
int xtc_cskip_min(xtc_cskip_t *s,
void **out_key,
134XTC_API
int xtc_cskip_floor(xtc_cskip_t *s,
const void *key,
135 void **out_key,
void **out_value);
139XTC_API
size_t xtc_cskip_size(
const xtc_cskip_t *s);