pike.git/src/rbtree.h:1:
/*
|| This file is part of Pike. For copyright information see COPYRIGHT.
|| Pike is distributed under GPL, LGPL and MPL. See the file COPYING
|| for more information.
- || $Id$
+
*/
/* An implementation of a threaded red/black balanced binary tree.
*
* Created 2001-04-27 by Martin Stjernholm
*/
#ifndef RBTREE_H
#define RBTREE_H
pike.git/src/rbtree.h:85:
DO_IF_RB_STATS (rb_num_sidestep_ops++ COMMA) (node)->prev : \
rb_link_prev (node))
#define rb_next(node) \
(DO_IF_RB_STATS (rb_num_sidesteps++ COMMA) \
(node)->flags & RB_THREAD_NEXT ? \
DO_IF_RB_STATS (rb_num_sidestep_ops++ COMMA) (node)->next : \
rb_link_next (node))
#ifdef PIKE_DEBUG
/* To get good type checking. */
- static INLINE struct rb_node_hdr *rb_node_check (struct rb_node_hdr *node)
+ static INLINE struct rb_node_hdr PIKE_UNUSED_ATTRIBUTE *rb_node_check (struct rb_node_hdr *node)
{return node;}
#else
#define rb_node_check(node) ((struct rb_node_hdr *) (node))
#endif
typedef int rb_find_fn (void *key, struct rb_node_hdr *node);
typedef int rb_cmp_fn (struct rb_node_hdr *a, struct rb_node_hdr *b, void *extra);
typedef int rb_equal_fn (struct rb_node_hdr *a, struct rb_node_hdr *b, void *extra);
typedef struct rb_node_hdr *rb_copy_fn (struct rb_node_hdr *node, void *extra);
typedef void rb_free_fn (struct rb_node_hdr *node, void *extra);
pike.git/src/rbtree.h:219: Inside #if defined(RB_STATS)
#ifdef RB_STATS
extern size_t rb_num_sidesteps, rb_num_sidestep_ops;
extern size_t rb_num_finds, rb_find_depth;
extern size_t rb_num_tracks, rb_track_depth;
extern size_t rb_num_sidetracks, rb_num_sidetrack_ops;
extern size_t rb_max_depth;
extern size_t rb_num_traverses, rb_num_traverse_ops;
extern size_t rbstack_slice_allocs;
extern size_t rb_num_adds, rb_add_rebalance_cnt;
extern size_t rb_num_deletes, rb_del_rebalance_cnt;
- void reset_rb_stats();
+ void reset_rb_stats(void);
void print_rb_stats (int reset);
#define DO_IF_RB_STATS(X) X
#else
#define DO_IF_RB_STATS(X)
#endif
#endif /* RBTREE_H */