17 #ifndef _APR_SKIPLIST_P_H
18 #define _APR_SKIPLIST_P_H
27 typedef int (*apr_skiplist_compare) (
void *,
void *);
28 typedef void (*apr_skiplist_freefunc) (
void *);
31 struct apr_skiplistnode;
33 typedef struct apr_skiplistnode apr_skiplistnode;
34 typedef struct apr_skiplist apr_skiplist;
36 APR_DECLARE(
void *) apr_skiplist_alloc(apr_skiplist *sl,
size_t size);
38 APR_DECLARE(
void) apr_skiplist_free(apr_skiplist *sl,
void *mem);
42 APR_DECLARE(
void) apr_skiplist_set_compare(apr_skiplist *sl, apr_skiplist_compare,
43 apr_skiplist_compare);
45 APR_DECLARE(
void) apr_skiplist_add_index(apr_skiplist *sl, apr_skiplist_compare,
46 apr_skiplist_compare);
48 APR_DECLARE(apr_skiplistnode *) apr_skiplist_getlist(apr_skiplist *sl);
50 APR_DECLARE(
void *) apr_skiplist_find_compare(apr_skiplist *sl,
52 apr_skiplistnode **iter,
53 apr_skiplist_compare func);
55 APR_DECLARE(
void *) apr_skiplist_find(apr_skiplist *sl,
void *data, apr_skiplistnode **iter);
57 APR_DECLARE(
void *) apr_skiplist_next(apr_skiplist *sl, apr_skiplistnode **iter);
59 APR_DECLARE(
void *) apr_skiplist_previous(apr_skiplist *sl, apr_skiplistnode **iter);
62 APR_DECLARE(apr_skiplistnode *) apr_skiplist_insert_compare(apr_skiplist *sl,
63 void *data, apr_skiplist_compare comp);
65 APR_DECLARE(apr_skiplistnode *) apr_skiplist_insert(apr_skiplist* sl,
void *data);
67 APR_DECLARE(
int) apr_skiplist_remove_compare(apr_skiplist *sl,
void *data,
68 apr_skiplist_freefunc myfree, apr_skiplist_compare comp);
70 APR_DECLARE(
int) apr_skiplist_remove(apr_skiplist *sl,
void *data, apr_skiplist_freefunc myfree);
72 APR_DECLARE(
void) apr_skiplist_remove_all(apr_skiplist *sl, apr_skiplist_freefunc myfree);
74 APR_DECLARE(
void) apr_skiplist_destroy(apr_skiplist *sl, apr_skiplist_freefunc myfree);
76 APR_DECLARE(
void *) apr_skiplist_pop(apr_skiplist *a, apr_skiplist_freefunc myfree);
78 APR_DECLARE(
void *) apr_skiplist_peek(apr_skiplist *a);
80 APR_DECLARE(apr_skiplist *) apr_skiplist_merge(apr_skiplist *sl1, apr_skiplist *sl2);
APR Platform Definitions.
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
int apr_status_t
Definition: apr_errno.h:44
APR Portability Routines.