Line 1... |
Line 1... |
/* A splay-tree datatype.
|
/* A splay-tree datatype.
|
Copyright 1998, 1999, 2000, 2002, 2007 Free Software Foundation, Inc.
|
Copyright 1998, 1999, 2000, 2002, 2005, 2007, 2009
|
|
Free Software Foundation, Inc.
|
Contributed by Mark Mitchell (mark@markmitchell.com).
|
Contributed by Mark Mitchell (mark@markmitchell.com).
|
|
|
This file is part of GCC.
|
This file is part of GCC.
|
|
|
GCC is free software; you can redistribute it and/or modify it
|
GCC is free software; you can redistribute it and/or modify it
|
Line 84... |
Line 85... |
memory to be freed; the latter is a data pointer the splay tree
|
memory to be freed; the latter is a data pointer the splay tree
|
functions pass through to the freer. */
|
functions pass through to the freer. */
|
typedef void (*splay_tree_deallocate_fn) (void *, void *);
|
typedef void (*splay_tree_deallocate_fn) (void *, void *);
|
|
|
/* The nodes in the splay tree. */
|
/* The nodes in the splay tree. */
|
struct splay_tree_node_s GTY(())
|
struct GTY(()) splay_tree_node_s {
|
{
|
|
/* The key. */
|
/* The key. */
|
splay_tree_key GTY ((use_param1)) key;
|
splay_tree_key GTY ((use_param1)) key;
|
|
|
/* The value. */
|
/* The value. */
|
splay_tree_value GTY ((use_param2)) value;
|
splay_tree_value GTY ((use_param2)) value;
|
Line 98... |
Line 98... |
splay_tree_node GTY ((use_params)) left;
|
splay_tree_node GTY ((use_params)) left;
|
splay_tree_node GTY ((use_params)) right;
|
splay_tree_node GTY ((use_params)) right;
|
};
|
};
|
|
|
/* The splay tree itself. */
|
/* The splay tree itself. */
|
struct splay_tree_s GTY(())
|
struct GTY(()) splay_tree_s {
|
{
|
|
/* The root of the tree. */
|
/* The root of the tree. */
|
splay_tree_node GTY ((use_params)) root;
|
splay_tree_node GTY ((use_params)) root;
|
|
|
/* The comparision function. */
|
/* The comparision function. */
|
splay_tree_compare_fn comp;
|
splay_tree_compare_fn comp;
|