Revision 876e4194
libavutil/tree.h | ||
---|---|---|
26 | 26 |
/** |
27 | 27 |
* Finds an element. |
28 | 28 |
* @param root a pointer to the root node of the tree |
29 |
* @param next if next is not NULL then next[0] will contain the previous element and
|
|
30 |
* next[1] the next element if either doesnt exist then the corresponding
|
|
31 |
* entry in next is unchanged
|
|
32 |
* @return an element with cmp(key, elem)==0 or NULL if no such element exists in
|
|
33 |
* the tree |
|
29 |
* @param next If next is not NULL then next[0] will contain the previous
|
|
30 |
* element and next[1] the next element if either does not exist
|
|
31 |
* then the corresponding entry in next is unchanged.
|
|
32 |
* @return An element with cmp(key, elem)==0 or NULL if no such element exists in
|
|
33 |
* the tree.
|
|
34 | 34 |
*/ |
35 | 35 |
void *av_tree_find(const struct AVTreeNode *root, void *key, int (*cmp)(void *key, const void *b), void *next[2]); |
36 | 36 |
|
37 | 37 |
/** |
38 | 38 |
* Finds a element for which cmp(key, elem)==0, if no such element is found key |
39 | 39 |
* is inserted into the tree. |
40 |
* @param rootp a pointer to a pointer to the root node of the tree note the
|
|
41 |
* root node can change during insertions, this is required to
|
|
42 |
* keep the tree balanced
|
|
40 |
* @param rootp A pointer to a pointer to the root node of the tree. Note that
|
|
41 |
* the root node can change during insertions, this is required
|
|
42 |
* to keep the tree balanced.
|
|
43 | 43 |
* |
44 |
* @return if no insertion happened, the found element
|
|
45 |
* if a insertion happened, then either key or NULL is returned (which it is
|
|
46 |
* depends on the tree state and the implemenattion, you should make no
|
|
47 |
* asumtations that its one or the other in code)
|
|
44 |
* @return If no insertion happened, the found element.
|
|
45 |
* If an insertion happened, then either key or NULL is returned (which
|
|
46 |
* one it is depends on the tree state and the implementation, you
|
|
47 |
* should make no assumptions that it's one or the other in the code).
|
|
48 | 48 |
*/ |
49 | 49 |
void *av_tree_insert(struct AVTreeNode **rootp, void *key, int (*cmp)(void *key, const void *b)); |
50 | 50 |
void av_tree_destroy(struct AVTreeNode *t); |
Also available in: Unified diff