* Library General Public License for more details.
*
* You should have received a copy of the GNU Library 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 <http://www.gnu.org/licenses/>.
*/
/* A Red-Black Tree implementation used specifically by GtkTreeView.
struct _GtkRBTree
{
GtkRBNode *root;
- GtkRBNode *nil;
GtkRBTree *parent_tree;
GtkRBNode *parent_node;
};
gboolean valid);
void _gtk_rbtree_remove_node (GtkRBTree *tree,
GtkRBNode *node);
+gboolean _gtk_rbtree_is_nil (GtkRBNode *node);
void _gtk_rbtree_reorder (GtkRBTree *tree,
gint *new_order,
gint length);
+gboolean _gtk_rbtree_contains (GtkRBTree *tree,
+ GtkRBTree *potential_child);
GtkRBNode *_gtk_rbtree_find_count (GtkRBTree *tree,
gint count);
void _gtk_rbtree_node_set_height (GtkRBTree *tree,
gboolean mark_valid);
gint _gtk_rbtree_node_find_offset (GtkRBTree *tree,
GtkRBNode *node);
-gint _gtk_rbtree_node_find_parity (GtkRBTree *tree,
+guint _gtk_rbtree_node_get_index (GtkRBTree *tree,
GtkRBNode *node);
+gboolean _gtk_rbtree_find_index (GtkRBTree *tree,
+ guint index,
+ GtkRBTree **new_tree,
+ GtkRBNode **new_node);
gint _gtk_rbtree_find_offset (GtkRBTree *tree,
gint offset,
GtkRBTree **new_tree,
GTraverseType order,
GtkRBTreeTraverseFunc func,
gpointer data);
+GtkRBNode *_gtk_rbtree_first (GtkRBTree *tree);
GtkRBNode *_gtk_rbtree_next (GtkRBTree *tree,
GtkRBNode *node);
GtkRBNode *_gtk_rbtree_prev (GtkRBTree *tree,
gint _gtk_rbtree_get_depth (GtkRBTree *tree);
-/* This func checks the integrity of the tree */
-#ifdef G_ENABLE_DEBUG
-void _gtk_rbtree_test (const gchar *where,
- GtkRBTree *tree);
-void _gtk_rbtree_debug_spew (GtkRBTree *tree);
-#endif
-
G_END_DECLS