/* Sequential list data type implemented by a hash table with a binary tree.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
#include <stdlib.h>
#include "gl_rbtree_oset.h"
-#include "xalloc.h"
#include "xsize.h"
#ifndef uintptr_t
if (!(node->parent == parent))
abort ();
if (!(node->branch_size
- == (node->left != NULL ? node->left->branch_size : 0)
- + 1 + (node->right != NULL ? node->right->branch_size : 0)))
+ == (node->left != NULL ? node->left->branch_size : 0)
+ + 1 + (node->right != NULL ? node->right->branch_size : 0)))
abort ();
if (!(node->color == BLACK || node->color == RED))
abort ();
const struct gl_list_implementation gl_rbtreehash_list_implementation =
{
- gl_tree_create_empty,
- gl_tree_create,
+ gl_tree_nx_create_empty,
+ gl_tree_nx_create,
gl_tree_size,
gl_tree_node_value,
+ gl_tree_node_nx_set_value,
gl_tree_next_node,
gl_tree_previous_node,
gl_tree_get_at,
- gl_tree_set_at,
+ gl_tree_nx_set_at,
gl_tree_search_from_to,
gl_tree_indexof_from_to,
- gl_tree_add_first,
- gl_tree_add_last,
- gl_tree_add_before,
- gl_tree_add_after,
- gl_tree_add_at,
+ gl_tree_nx_add_first,
+ gl_tree_nx_add_last,
+ gl_tree_nx_add_before,
+ gl_tree_nx_add_after,
+ gl_tree_nx_add_at,
gl_tree_remove_node,
gl_tree_remove_at,
gl_tree_remove,
gl_tree_sortedlist_search_from_to,
gl_tree_sortedlist_indexof,
gl_tree_sortedlist_indexof_from_to,
- gl_tree_sortedlist_add,
+ gl_tree_sortedlist_nx_add,
gl_tree_sortedlist_remove
};