diff options
| author | Po Lu | 2022-10-29 08:48:58 +0800 |
|---|---|---|
| committer | Po Lu | 2022-10-29 08:48:58 +0800 |
| commit | fbf2bfba0770b7f575d8ef06ca3a08cf1a38cc2d (patch) | |
| tree | 129dd47c3f169da978458eb6c398e881a337c6f8 /src/itree.h | |
| parent | 7ca456da7f72feeeec571ece3c373e2b3a3d327b (diff) | |
| download | emacs-fbf2bfba0770b7f575d8ef06ca3a08cf1a38cc2d.tar.gz 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.h | 65 |
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 | |||
| 79 | 79 | ||
| 80 | NOTE: The interval iterators ensure nodes are clean before | 80 | NOTE: The interval iterators ensure nodes are clean before |
| 81 | yielding them, so BEGIN and END may be safely used as buffer | 81 | yielding them, so BEGIN and END may be safely used as buffer |
| 82 | positions then. | 82 | positions then. */ |
| 83 | */ | ||
| 84 | 83 | ||
| 85 | ptrdiff_t begin; /* The beginning of this interval. */ | 84 | ptrdiff_t begin; /* The beginning of this interval. */ |
| 86 | ptrdiff_t end; /* The end of the interval. */ | 85 | ptrdiff_t end; /* The end of the interval. */ |
| @@ -100,39 +99,41 @@ struct itree_tree | |||
| 100 | intmax_t size; /* Number of nodes in the tree. */ | 99 | intmax_t size; /* Number of nodes in the tree. */ |
| 101 | }; | 100 | }; |
| 102 | 101 | ||
| 103 | enum itree_order { | 102 | enum itree_order |
| 104 | ITREE_ASCENDING, | 103 | { |
| 105 | ITREE_DESCENDING, | 104 | ITREE_ASCENDING, |
| 106 | ITREE_PRE_ORDER, | 105 | ITREE_DESCENDING, |
| 107 | }; | 106 | ITREE_PRE_ORDER, |
| 108 | 107 | }; | |
| 109 | void itree_node_init (struct itree_node *, bool, bool, Lisp_Object); | 108 | |
| 110 | ptrdiff_t itree_node_begin (struct itree_tree *, struct itree_node *); | 109 | extern void itree_node_init (struct itree_node *, bool, bool, Lisp_Object); |
| 111 | ptrdiff_t itree_node_end (struct itree_tree *, struct itree_node *); | 110 | extern ptrdiff_t itree_node_begin (struct itree_tree *, struct itree_node *); |
| 112 | void itree_node_set_region (struct itree_tree *, struct itree_node *, | 111 | extern ptrdiff_t itree_node_end (struct itree_tree *, struct itree_node *); |
| 113 | ptrdiff_t, ptrdiff_t); | 112 | extern void itree_node_set_region (struct itree_tree *, struct itree_node *, |
| 114 | struct itree_tree *itree_create (void); | 113 | ptrdiff_t, ptrdiff_t); |
| 115 | void itree_destroy (struct itree_tree *); | 114 | extern struct itree_tree *itree_create (void); |
| 116 | intmax_t itree_size (struct itree_tree *); | 115 | extern void itree_destroy (struct itree_tree *); |
| 117 | void itree_clear (struct itree_tree *); | 116 | extern intmax_t itree_size (struct itree_tree *); |
| 118 | void itree_insert (struct itree_tree *tree, struct itree_node *node, | 117 | extern void itree_clear (struct itree_tree *); |
| 119 | ptrdiff_t begin, ptrdiff_t end); | 118 | extern void itree_insert (struct itree_tree *, struct itree_node *, |
| 120 | struct itree_node *itree_remove (struct itree_tree *, | 119 | ptrdiff_t, ptrdiff_t); |
| 121 | struct itree_node *); | 120 | extern struct itree_node *itree_remove (struct itree_tree *, |
| 122 | void itree_insert_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t); | 121 | struct itree_node *); |
| 123 | void itree_delete_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t); | 122 | extern void itree_insert_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t); |
| 123 | extern void itree_delete_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t); | ||
| 124 | 124 | ||
| 125 | /* Iteration functions. Almost all code should use ITREE_FOREACH | 125 | /* Iteration functions. Almost all code should use ITREE_FOREACH |
| 126 | instead. */ | 126 | instead. */ |
| 127 | bool itree_iterator_busy_p (void); | 127 | extern bool itree_iterator_busy_p (void); |
| 128 | struct itree_iterator * | 128 | extern struct itree_iterator *itree_iterator_start (struct itree_tree *, |
| 129 | itree_iterator_start (struct itree_tree *tree, ptrdiff_t begin, | 129 | ptrdiff_t, |
| 130 | ptrdiff_t end, enum itree_order order, | 130 | ptrdiff_t, |
| 131 | const char *file, int line); | 131 | enum itree_order, |
| 132 | void itree_iterator_narrow (struct itree_iterator *, ptrdiff_t, | 132 | const char *, int); |
| 133 | ptrdiff_t); | 133 | extern void itree_iterator_narrow (struct itree_iterator *, ptrdiff_t, |
| 134 | void itree_iterator_finish (struct itree_iterator *); | 134 | ptrdiff_t); |
| 135 | struct itree_node *itree_iterator_next (struct itree_iterator *); | 135 | extern void itree_iterator_finish (struct itree_iterator *); |
| 136 | extern struct itree_node *itree_iterator_next (struct itree_iterator *); | ||
| 136 | 137 | ||
| 137 | /* Iterate over the intervals between BEG and END in the tree T. | 138 | /* Iterate over the intervals between BEG and END in the tree T. |
| 138 | N will hold successive nodes. ORDER can be one of : `ASCENDING`, | 139 | N will hold successive nodes. ORDER can be one of : `ASCENDING`, |