#include <cprops/nary.h>
cp_narytree *cp_narytree_create(cp_compare_fn cmp); 
cp_narytree *
     
cp_narytree_create_by_option(int mode, 
                                  
int order,
                                  
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_narytree_destroy(cp_narytree *tree);
void cp_narytree_destroy_custom(cp_narytree *tree,
                                
cp_destructor_fn dk,
                                
cp_destructor_fn dv);
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_narytree_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_narytree_destroy recursively deallocates the tree structure using the current mode settings. cp_narytree_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.
| This document was created by
 man2html,
using the manual pages. Time: 17:58:11 GMT, September 08, 2006 |  |