summaryrefslogtreecommitdiff
path: root/src/itree.h
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-10-29 08:48:58 +0800
committerPo Lu <luangruo@yahoo.com>2022-10-29 08:48:58 +0800
commitfbf2bfba0770b7f575d8ef06ca3a08cf1a38cc2d (patch)
tree129dd47c3f169da978458eb6c398e881a337c6f8 /src/itree.h
parent7ca456da7f72feeeec571ece3c373e2b3a3d327b (diff)
downloademacs-fbf2bfba0770b7f575d8ef06ca3a08cf1a38cc2d.tar.gz
emacs-fbf2bfba0770b7f575d8ef06ca3a08cf1a38cc2d.tar.bz2
emacs-fbf2bfba0770b7f575d8ef06ca3a08cf1a38cc2d.zip
Fix function declarations in itree headers
* src/itree.h: Make all declarations `extern'.
Diffstat (limited to 'src/itree.h')
-rw-r--r--src/itree.h65
1 files changed, 33 insertions, 32 deletions
diff --git a/src/itree.h b/src/itree.h
index 3df07ac1b7e..c6b68d36672 100644
--- a/src/itree.h
+++ b/src/itree.h
@@ -79,8 +79,7 @@ struct itree_node
NOTE: The interval iterators ensure nodes are clean before
yielding them, so BEGIN and END may be safely used as buffer
- positions then.
- */
+ positions then. */
ptrdiff_t begin; /* The beginning of this interval. */
ptrdiff_t end; /* The end of the interval. */
@@ -100,39 +99,41 @@ struct itree_tree
intmax_t size; /* Number of nodes in the tree. */
};
-enum itree_order {
- ITREE_ASCENDING,
- ITREE_DESCENDING,
- ITREE_PRE_ORDER,
-};
-
-void itree_node_init (struct itree_node *, bool, bool, Lisp_Object);
-ptrdiff_t itree_node_begin (struct itree_tree *, struct itree_node *);
-ptrdiff_t itree_node_end (struct itree_tree *, struct itree_node *);
-void itree_node_set_region (struct itree_tree *, struct itree_node *,
- ptrdiff_t, ptrdiff_t);
-struct itree_tree *itree_create (void);
-void itree_destroy (struct itree_tree *);
-intmax_t itree_size (struct itree_tree *);
-void itree_clear (struct itree_tree *);
-void itree_insert (struct itree_tree *tree, struct itree_node *node,
- ptrdiff_t begin, ptrdiff_t end);
-struct itree_node *itree_remove (struct itree_tree *,
- struct itree_node *);
-void itree_insert_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t);
-void itree_delete_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t);
+enum itree_order
+ {
+ ITREE_ASCENDING,
+ ITREE_DESCENDING,
+ ITREE_PRE_ORDER,
+ };
+
+extern void itree_node_init (struct itree_node *, bool, bool, Lisp_Object);
+extern ptrdiff_t itree_node_begin (struct itree_tree *, struct itree_node *);
+extern ptrdiff_t itree_node_end (struct itree_tree *, struct itree_node *);
+extern void itree_node_set_region (struct itree_tree *, struct itree_node *,
+ ptrdiff_t, ptrdiff_t);
+extern struct itree_tree *itree_create (void);
+extern void itree_destroy (struct itree_tree *);
+extern intmax_t itree_size (struct itree_tree *);
+extern void itree_clear (struct itree_tree *);
+extern void itree_insert (struct itree_tree *, struct itree_node *,
+ ptrdiff_t, ptrdiff_t);
+extern struct itree_node *itree_remove (struct itree_tree *,
+ struct itree_node *);
+extern void itree_insert_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t);
+extern void itree_delete_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t);
/* Iteration functions. Almost all code should use ITREE_FOREACH
instead. */
-bool itree_iterator_busy_p (void);
-struct itree_iterator *
-itree_iterator_start (struct itree_tree *tree, ptrdiff_t begin,
- ptrdiff_t end, enum itree_order order,
- const char *file, int line);
-void itree_iterator_narrow (struct itree_iterator *, ptrdiff_t,
- ptrdiff_t);
-void itree_iterator_finish (struct itree_iterator *);
-struct itree_node *itree_iterator_next (struct itree_iterator *);
+extern bool itree_iterator_busy_p (void);
+extern struct itree_iterator *itree_iterator_start (struct itree_tree *,
+ ptrdiff_t,
+ ptrdiff_t,
+ enum itree_order,
+ const char *, int);
+extern void itree_iterator_narrow (struct itree_iterator *, ptrdiff_t,
+ ptrdiff_t);
+extern void itree_iterator_finish (struct itree_iterator *);
+extern struct itree_node *itree_iterator_next (struct itree_iterator *);
/* Iterate over the intervals between BEG and END in the tree T.
N will hold successive nodes. ORDER can be one of : `ASCENDING`,