cp_splaytree_create(3)
| cp_splaytree(3) | libcprops - cp_splaytree | cp_splaytree(3) |
NAME
cp_splaytree_create, cp_splaytree_create_by_option, cp_splaytree_destroy, cp_splaytree_destroy_custom - splay tree constructor / destructor functions
SYNOPSIS
#include <cprops/splay.h>
cp_splaytree *cp_splaytree_create(cp_compare_fn
cmp);
cp_splaytree * cp_splaytree_create_by_option(int mode,
cp_compare_fn compare_fn, cp_copy_fn
copy_key, cp_destructor_fn free_key);
cp_copy_fn copy_value cp_destructor_fn
free_value);
void cp_splaytree_destroy(cp_splaytree
*tree);
void cp_splaytree_destroy_custom(cp_splaytree *tree,
cp_destructor_fn dk, cp_destructor_fn
dv);
DESCRIPTION
cp_splaytree_create allocates and initializes an splay tree object with the given compare function. The compare function should follow this prototype:
int cmp(void *a, void *b);
and return 0 for matching keys, > 0 if a > b and < 0 if a < b (strcmp semantics). The created tree is not synchronized (COLLECTION_MODE_NOSYNC mode bit is set).
cp_splaytree_create_by_option allows specifying an initial
operation mode. Note that unless COLLECTION_MODE_NOSYNC is set on the
mode parameter, tree operations are synchronized. The copy_key
and copy_value functions are used on insertion if
COLLECTION_MODE_COPY is set. If COLLECTION_MODE_COPY is set and either of
these is NULL, inserted keys and / or values are inserted directly rather
than copies.
The free_key and free_value functions are used on item removal
or tree destruction if COLLECTION_MODE_DEEP is set. If COLLECTION_MODE_DEEP
is set and either of these is NULL, no cleanup is performed on keys and / or
values. This makes it possible to apply the copy/ deep mechanism to keys or
values only.
cp_splaytree_destroy recursively deallocates the tree structure using the current mode settings. cp_splaytree_destroy_custom sets the COLLECTION_MODE_DEEP mode bit and destroys the tree using the given key and value destructor functions. Specifying a NULL destructor function or functions precludes key deallocation, value deallocation or both.
RETURN VALUE
cp_splaytree_create and cp_splaytree_create_by_option return a newly allocated cp_splaytree object on success or NULL on failure.
| MAY 2006 | libcprops.0.1.2 |
