00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00027 #ifndef AVUTIL_TREE_H
00028 #define AVUTIL_TREE_H
00029
00030 #include "attributes.h"
00031 #include "version.h"
00032
00045 struct AVTreeNode;
00046 extern const int av_tree_node_size;
00047
00051 struct AVTreeNode *av_tree_node_alloc(void);
00052
00062 void *av_tree_find(const struct AVTreeNode *root, void *key, int (*cmp)(void *key, const void *b), void *next[2]);
00063
00101 void *av_tree_insert(struct AVTreeNode **rootp, void *key, int (*cmp)(void *key, const void *b), struct AVTreeNode **next);
00102 void av_tree_destroy(struct AVTreeNode *t);
00103
00114 void av_tree_enumerate(struct AVTreeNode *t, void *opaque, int (*cmp)(void *opaque, void *elem), int (*enu)(void *opaque, void *elem));
00115
00120 #endif