* This allows the use of flat arrays, which have
* lower overhead compared to many malloced elements.
* You might want to define a function like:
+ * @code
* void *tree_insert(struct AVTreeNode **rootp, void *key, int (*cmp)(void *key, const void *b), AVTreeNode **next){
* if(!*next) *next= av_mallocz(av_tree_node_size);
* return av_tree_insert(rootp, key, cmp, next);
* if(*next) av_freep(next);
* return av_tree_insert(rootp, key, cmp, next);
* }
- *
+ * @endcode
* @return If no insertion happened, the found element; if an insertion or
* removal happened, then either key or NULL will be returned.
* Which one it is depends on the tree state and the implementation. You