comparison include/splay-tree.h @ 67:f6334be47118

update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
date Tue, 22 Mar 2011 17:18:12 +0900
parents 77e2b8dfacca
children 04ced10e8804
comparison
equal deleted inserted replaced
65:65488c3d617d 67:f6334be47118
1 /* A splay-tree datatype. 1 /* A splay-tree datatype.
2 Copyright 1998, 1999, 2000, 2002, 2005, 2007, 2009 2 Copyright 1998, 1999, 2000, 2002, 2005, 2007, 2009, 2010
3 Free Software Foundation, Inc. 3 Free Software Foundation, Inc.
4 Contributed by Mark Mitchell (mark@markmitchell.com). 4 Contributed by Mark Mitchell (mark@markmitchell.com).
5 5
6 This file is part of GCC. 6 This file is part of GCC.
7 7
117 splay_tree_delete_key_fn delete_key; 117 splay_tree_delete_key_fn delete_key;
118 118
119 /* The deallocate-value function. NULL if no cleanup is necessary. */ 119 /* The deallocate-value function. NULL if no cleanup is necessary. */
120 splay_tree_delete_value_fn delete_value; 120 splay_tree_delete_value_fn delete_value;
121 121
122 /* Allocate/free functions, and a data pointer to pass to them. */ 122 /* Node allocate function. Takes allocate_data as a parameter. */
123 splay_tree_allocate_fn allocate; 123 splay_tree_allocate_fn allocate;
124
125 /* Free function for nodes and trees. Takes allocate_data as a parameter. */
124 splay_tree_deallocate_fn deallocate; 126 splay_tree_deallocate_fn deallocate;
127
128 /* Parameter for allocate/free functions. */
125 void * GTY((skip)) allocate_data; 129 void * GTY((skip)) allocate_data;
126 }; 130 };
127 131
128 typedef struct splay_tree_s *splay_tree; 132 typedef struct splay_tree_s *splay_tree;
129 133
134 splay_tree_delete_key_fn, 138 splay_tree_delete_key_fn,
135 splay_tree_delete_value_fn, 139 splay_tree_delete_value_fn,
136 splay_tree_allocate_fn, 140 splay_tree_allocate_fn,
137 splay_tree_deallocate_fn, 141 splay_tree_deallocate_fn,
138 void *); 142 void *);
143 extern splay_tree splay_tree_new_typed_alloc (splay_tree_compare_fn,
144 splay_tree_delete_key_fn,
145 splay_tree_delete_value_fn,
146 splay_tree_allocate_fn,
147 splay_tree_allocate_fn,
148 splay_tree_deallocate_fn,
149 void *);
139 extern void splay_tree_delete (splay_tree); 150 extern void splay_tree_delete (splay_tree);
140 extern splay_tree_node splay_tree_insert (splay_tree, 151 extern splay_tree_node splay_tree_insert (splay_tree,
141 splay_tree_key, 152 splay_tree_key,
142 splay_tree_value); 153 splay_tree_value);
143 extern void splay_tree_remove (splay_tree, splay_tree_key); 154 extern void splay_tree_remove (splay_tree, splay_tree_key);