X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fgtree.h;h=56a3292406681d436d8b999ebfc540ddf1dafa75;hb=49a5d0f6f2aed99cd78f25655f137f4448e47d92;hp=ba5102c6e7c17f7028c352b8d0cc764cbcc4f464;hpb=10540153e0f3dacd21d74a9ead55c5ecd62f973b;p=platform%2Fupstream%2Fglib.git diff --git a/glib/gtree.h b/glib/gtree.h index ba5102c..56a3292 100644 --- a/glib/gtree.h +++ b/glib/gtree.h @@ -12,21 +12,23 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library; if not, see . */ /* * Modified by the GLib Team and others 1997-2000. See the AUTHORS * file for a list of people on the GLib Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GLib at ftp://ftp.gtk.org/pub/gtk/. + * GLib at ftp://ftp.gtk.org/pub/gtk/. */ #ifndef __G_TREE_H__ #define __G_TREE_H__ +#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) +#error "Only can be included directly." +#endif + #include G_BEGIN_DECLS @@ -39,46 +41,64 @@ typedef gboolean (*GTraverseFunc) (gpointer key, /* Balanced binary trees */ +GLIB_AVAILABLE_IN_ALL GTree* g_tree_new (GCompareFunc key_compare_func); +GLIB_AVAILABLE_IN_ALL GTree* g_tree_new_with_data (GCompareDataFunc key_compare_func, gpointer key_compare_data); +GLIB_AVAILABLE_IN_ALL GTree* g_tree_new_full (GCompareDataFunc key_compare_func, gpointer key_compare_data, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func); +GLIB_AVAILABLE_IN_ALL +GTree* g_tree_ref (GTree *tree); +GLIB_AVAILABLE_IN_ALL +void g_tree_unref (GTree *tree); +GLIB_AVAILABLE_IN_ALL void g_tree_destroy (GTree *tree); +GLIB_AVAILABLE_IN_ALL void g_tree_insert (GTree *tree, gpointer key, gpointer value); +GLIB_AVAILABLE_IN_ALL void g_tree_replace (GTree *tree, gpointer key, gpointer value); -void g_tree_remove (GTree *tree, +GLIB_AVAILABLE_IN_ALL +gboolean g_tree_remove (GTree *tree, gconstpointer key); -void g_tree_steal (GTree *tree, +GLIB_AVAILABLE_IN_ALL +gboolean g_tree_steal (GTree *tree, gconstpointer key); +GLIB_AVAILABLE_IN_ALL gpointer g_tree_lookup (GTree *tree, gconstpointer key); +GLIB_AVAILABLE_IN_ALL gboolean g_tree_lookup_extended (GTree *tree, gconstpointer lookup_key, gpointer *orig_key, gpointer *value); +GLIB_AVAILABLE_IN_ALL void g_tree_foreach (GTree *tree, GTraverseFunc func, gpointer user_data); + +GLIB_DEPRECATED void g_tree_traverse (GTree *tree, GTraverseFunc traverse_func, GTraverseType traverse_type, gpointer user_data); + +GLIB_AVAILABLE_IN_ALL gpointer g_tree_search (GTree *tree, GCompareFunc search_func, gconstpointer user_data); +GLIB_AVAILABLE_IN_ALL gint g_tree_height (GTree *tree); +GLIB_AVAILABLE_IN_ALL gint g_tree_nnodes (GTree *tree); - - G_END_DECLS #endif /* __G_TREE_H__ */ -