diff options
| author | Matt Armstrong | 2022-10-19 16:16:09 -0700 |
|---|---|---|
| committer | Stefan Monnier | 2022-10-19 21:35:09 -0400 |
| commit | 37a1145410f7d61883ea689255ee7e564c2fb3d0 (patch) | |
| tree | ea0d6e7eb8aab331e78fe67db3bdc9e426a93572 /src | |
| parent | f421b58db5d34f45773a73c699b4b1a5a5b9da03 (diff) | |
| download | emacs-37a1145410f7d61883ea689255ee7e564c2fb3d0.tar.gz emacs-37a1145410f7d61883ea689255ee7e564c2fb3d0.zip | |
Rename all exported itree.h functions with the itree_ prefix
For the most part, I replaced the interval_tree_ prefix with itree_,
interval_node_ with itree_node_, etc.
* src/alloc.c: Rename everywhere as appropriate.
* src/alloc.c: ditto.
* src/buffer.c: ditto.
* src/buffer.h: ditto.
* src/itree.c: ditto.
* src/itree.h: ditto.
Diffstat (limited to 'src')
| -rw-r--r-- | src/alloc.c | 2 | ||||
| -rw-r--r-- | src/buffer.c | 26 | ||||
| -rw-r--r-- | src/buffer.h | 4 | ||||
| -rw-r--r-- | src/itree.c | 30 | ||||
| -rw-r--r-- | src/itree.h | 33 |
5 files changed, 48 insertions, 47 deletions
diff --git a/src/alloc.c b/src/alloc.c index a08249b1b11..f69c65dedc1 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -3712,7 +3712,7 @@ build_overlay (bool front_advance, bool rear_advance, | |||
| 3712 | PVEC_OVERLAY); | 3712 | PVEC_OVERLAY); |
| 3713 | Lisp_Object overlay = make_lisp_ptr (p, Lisp_Vectorlike); | 3713 | Lisp_Object overlay = make_lisp_ptr (p, Lisp_Vectorlike); |
| 3714 | struct itree_node *node = xmalloc (sizeof (*node)); | 3714 | struct itree_node *node = xmalloc (sizeof (*node)); |
| 3715 | interval_node_init (node, front_advance, rear_advance, overlay); | 3715 | itree_node_init (node, front_advance, rear_advance, overlay); |
| 3716 | p->interval = node; | 3716 | p->interval = node; |
| 3717 | p->buffer = NULL; | 3717 | p->buffer = NULL; |
| 3718 | set_overlay_plist (overlay, plist); | 3718 | set_overlay_plist (overlay, plist); |
diff --git a/src/buffer.c b/src/buffer.c index 228c6e60560..3286cd338ff 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -644,9 +644,9 @@ add_buffer_overlay (struct buffer *b, struct Lisp_Overlay *ov, | |||
| 644 | { | 644 | { |
| 645 | eassert (! ov->buffer); | 645 | eassert (! ov->buffer); |
| 646 | if (! b->overlays) | 646 | if (! b->overlays) |
| 647 | b->overlays = interval_tree_create (); | 647 | b->overlays = itree_create (); |
| 648 | ov->buffer = b; | 648 | ov->buffer = b; |
| 649 | itree_insert_node (b->overlays, ov->interval, begin, end); | 649 | itree_insert (b->overlays, ov->interval, begin, end); |
| 650 | } | 650 | } |
| 651 | 651 | ||
| 652 | /* Copy overlays of buffer FROM to buffer TO. */ | 652 | /* Copy overlays of buffer FROM to buffer TO. */ |
| @@ -911,7 +911,7 @@ remove_buffer_overlay (struct buffer *b, struct Lisp_Overlay *ov) | |||
| 911 | { | 911 | { |
| 912 | eassert (b->overlays); | 912 | eassert (b->overlays); |
| 913 | eassert (ov->buffer == b); | 913 | eassert (ov->buffer == b); |
| 914 | interval_tree_remove (ov->buffer->overlays, ov->interval); | 914 | itree_remove (ov->buffer->overlays, ov->interval); |
| 915 | ov->buffer = NULL; | 915 | ov->buffer = NULL; |
| 916 | } | 916 | } |
| 917 | 917 | ||
| @@ -951,7 +951,7 @@ delete_all_overlays (struct buffer *b) | |||
| 951 | /* Where are the nodes freed ? --ap */ | 951 | /* Where are the nodes freed ? --ap */ |
| 952 | XOVERLAY (node->data)->buffer = NULL; | 952 | XOVERLAY (node->data)->buffer = NULL; |
| 953 | } | 953 | } |
| 954 | interval_tree_clear (b->overlays); | 954 | itree_clear (b->overlays); |
| 955 | } | 955 | } |
| 956 | 956 | ||
| 957 | static void | 957 | static void |
| @@ -960,7 +960,7 @@ free_buffer_overlays (struct buffer *b) | |||
| 960 | /* Actually this does not free any overlay, but the tree only. --ap */ | 960 | /* Actually this does not free any overlay, but the tree only. --ap */ |
| 961 | if (b->overlays) | 961 | if (b->overlays) |
| 962 | { | 962 | { |
| 963 | interval_tree_destroy (b->overlays); | 963 | itree_destroy (b->overlays); |
| 964 | b->overlays = NULL; | 964 | b->overlays = NULL; |
| 965 | } | 965 | } |
| 966 | } | 966 | } |
| @@ -980,7 +980,7 @@ set_overlays_multibyte (bool multibyte) | |||
| 980 | 980 | ||
| 981 | struct itree_node **nodes = NULL; | 981 | struct itree_node **nodes = NULL; |
| 982 | struct itree_tree *tree = current_buffer->overlays; | 982 | struct itree_tree *tree = current_buffer->overlays; |
| 983 | const intmax_t size = interval_tree_size (tree); | 983 | const intmax_t size = itree_size (tree); |
| 984 | 984 | ||
| 985 | /* We can't use `interval_node_set_region` at the same time | 985 | /* We can't use `interval_node_set_region` at the same time |
| 986 | as we iterate over the itree, so we need an auxiliary storage | 986 | as we iterate over the itree, so we need an auxiliary storage |
| @@ -999,8 +999,8 @@ set_overlays_multibyte (bool multibyte) | |||
| 999 | 999 | ||
| 1000 | if (multibyte) | 1000 | if (multibyte) |
| 1001 | { | 1001 | { |
| 1002 | ptrdiff_t begin = interval_node_begin (tree, node); | 1002 | ptrdiff_t begin = itree_node_begin (tree, node); |
| 1003 | ptrdiff_t end = interval_node_end (tree, node); | 1003 | ptrdiff_t end = itree_node_end (tree, node); |
| 1004 | 1004 | ||
| 1005 | /* This models the behavior of markers. (The behavior of | 1005 | /* This models the behavior of markers. (The behavior of |
| 1006 | text-intervals differs slightly.) */ | 1006 | text-intervals differs slightly.) */ |
| @@ -1010,12 +1010,12 @@ set_overlays_multibyte (bool multibyte) | |||
| 1010 | while (end < Z_BYTE | 1010 | while (end < Z_BYTE |
| 1011 | && !CHAR_HEAD_P (FETCH_BYTE (end))) | 1011 | && !CHAR_HEAD_P (FETCH_BYTE (end))) |
| 1012 | end++; | 1012 | end++; |
| 1013 | interval_node_set_region (tree, node, BYTE_TO_CHAR (begin), | 1013 | itree_node_set_region (tree, node, BYTE_TO_CHAR (begin), |
| 1014 | BYTE_TO_CHAR (end)); | 1014 | BYTE_TO_CHAR (end)); |
| 1015 | } | 1015 | } |
| 1016 | else | 1016 | else |
| 1017 | { | 1017 | { |
| 1018 | interval_node_set_region (tree, node, CHAR_TO_BYTE (node->begin), | 1018 | itree_node_set_region (tree, node, CHAR_TO_BYTE (node->begin), |
| 1019 | CHAR_TO_BYTE (node->end)); | 1019 | CHAR_TO_BYTE (node->end)); |
| 1020 | } | 1020 | } |
| 1021 | } | 1021 | } |
| @@ -3446,7 +3446,7 @@ adjust_overlays_for_insert (ptrdiff_t pos, ptrdiff_t length) | |||
| 3446 | but we may need to update the value of the overlay center. */ | 3446 | but we may need to update the value of the overlay center. */ |
| 3447 | if (! current_buffer->overlays) | 3447 | if (! current_buffer->overlays) |
| 3448 | return; | 3448 | return; |
| 3449 | interval_tree_insert_gap (current_buffer->overlays, pos, length); | 3449 | itree_insert_gap (current_buffer->overlays, pos, length); |
| 3450 | } | 3450 | } |
| 3451 | 3451 | ||
| 3452 | void | 3452 | void |
| @@ -3454,7 +3454,7 @@ adjust_overlays_for_delete (ptrdiff_t pos, ptrdiff_t length) | |||
| 3454 | { | 3454 | { |
| 3455 | if (! current_buffer->overlays) | 3455 | if (! current_buffer->overlays) |
| 3456 | return; | 3456 | return; |
| 3457 | interval_tree_delete_gap (current_buffer->overlays, pos, length); | 3457 | itree_delete_gap (current_buffer->overlays, pos, length); |
| 3458 | } | 3458 | } |
| 3459 | 3459 | ||
| 3460 | 3460 | ||
| @@ -3594,7 +3594,7 @@ buffer. */) | |||
| 3594 | add_buffer_overlay (XBUFFER (buffer), XOVERLAY (overlay), n_beg, n_end); | 3594 | add_buffer_overlay (XBUFFER (buffer), XOVERLAY (overlay), n_beg, n_end); |
| 3595 | } | 3595 | } |
| 3596 | else | 3596 | else |
| 3597 | interval_node_set_region (b->overlays, XOVERLAY (overlay)->interval, | 3597 | itree_node_set_region (b->overlays, XOVERLAY (overlay)->interval, |
| 3598 | n_beg, n_end); | 3598 | n_beg, n_end); |
| 3599 | 3599 | ||
| 3600 | /* If the overlay has changed buffers, do a thorough redisplay. */ | 3600 | /* If the overlay has changed buffers, do a thorough redisplay. */ |
diff --git a/src/buffer.h b/src/buffer.h index ee0c8dd8361..ce1b7b27b0f 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -1398,7 +1398,7 @@ overlay_start (struct Lisp_Overlay *ov) | |||
| 1398 | { | 1398 | { |
| 1399 | if (! ov->buffer) | 1399 | if (! ov->buffer) |
| 1400 | return -1; | 1400 | return -1; |
| 1401 | return interval_node_begin (ov->buffer->overlays, ov->interval); | 1401 | return itree_node_begin (ov->buffer->overlays, ov->interval); |
| 1402 | } | 1402 | } |
| 1403 | 1403 | ||
| 1404 | INLINE ptrdiff_t | 1404 | INLINE ptrdiff_t |
| @@ -1406,7 +1406,7 @@ overlay_end (struct Lisp_Overlay *ov) | |||
| 1406 | { | 1406 | { |
| 1407 | if (! ov->buffer) | 1407 | if (! ov->buffer) |
| 1408 | return -1; | 1408 | return -1; |
| 1409 | return interval_node_end (ov->buffer->overlays, ov->interval); | 1409 | return itree_node_end (ov->buffer->overlays, ov->interval); |
| 1410 | } | 1410 | } |
| 1411 | 1411 | ||
| 1412 | /* Return the start of OV in its buffer, or -1 if OV is not associated | 1412 | /* Return the start of OV in its buffer, or -1 if OV is not associated |
diff --git a/src/itree.c b/src/itree.c index 6d54a36c3bb..501226b7e28 100644 --- a/src/itree.c +++ b/src/itree.c | |||
| @@ -511,7 +511,7 @@ interval_tree_validate (struct itree_tree *tree, struct itree_node *node) | |||
| 511 | /* Initialize an allocated node. */ | 511 | /* Initialize an allocated node. */ |
| 512 | 512 | ||
| 513 | void | 513 | void |
| 514 | interval_node_init (struct itree_node *node, | 514 | itree_node_init (struct itree_node *node, |
| 515 | bool front_advance, bool rear_advance, | 515 | bool front_advance, bool rear_advance, |
| 516 | Lisp_Object data) | 516 | Lisp_Object data) |
| 517 | { | 517 | { |
| @@ -528,7 +528,7 @@ interval_node_init (struct itree_node *node, | |||
| 528 | /* Return NODE's begin value, computing it if necessary. */ | 528 | /* Return NODE's begin value, computing it if necessary. */ |
| 529 | 529 | ||
| 530 | ptrdiff_t | 530 | ptrdiff_t |
| 531 | interval_node_begin (struct itree_tree *tree, | 531 | itree_node_begin (struct itree_tree *tree, |
| 532 | struct itree_node *node) | 532 | struct itree_node *node) |
| 533 | { | 533 | { |
| 534 | interval_tree_validate (tree, node); | 534 | interval_tree_validate (tree, node); |
| @@ -538,7 +538,7 @@ interval_node_begin (struct itree_tree *tree, | |||
| 538 | /* Return NODE's end value, computing it if necessary. */ | 538 | /* Return NODE's end value, computing it if necessary. */ |
| 539 | 539 | ||
| 540 | ptrdiff_t | 540 | ptrdiff_t |
| 541 | interval_node_end (struct itree_tree *tree, | 541 | itree_node_end (struct itree_tree *tree, |
| 542 | struct itree_node *node) | 542 | struct itree_node *node) |
| 543 | { | 543 | { |
| 544 | interval_tree_validate (tree, node); | 544 | interval_tree_validate (tree, node); |
| @@ -548,7 +548,7 @@ interval_node_end (struct itree_tree *tree, | |||
| 548 | /* Allocate an interval_tree. Free with interval_tree_destroy. */ | 548 | /* Allocate an interval_tree. Free with interval_tree_destroy. */ |
| 549 | 549 | ||
| 550 | struct itree_tree* | 550 | struct itree_tree* |
| 551 | interval_tree_create (void) | 551 | itree_create (void) |
| 552 | { | 552 | { |
| 553 | /* FIXME? Maybe avoid the initialization of itree_null in the same | 553 | /* FIXME? Maybe avoid the initialization of itree_null in the same |
| 554 | way that is used to call mem_init in alloc.c? It's not really | 554 | way that is used to call mem_init in alloc.c? It's not really |
| @@ -556,14 +556,14 @@ interval_tree_create (void) | |||
| 556 | itree_init (); | 556 | itree_init (); |
| 557 | 557 | ||
| 558 | struct itree_tree *tree = xmalloc (sizeof (*tree)); | 558 | struct itree_tree *tree = xmalloc (sizeof (*tree)); |
| 559 | interval_tree_clear (tree); | 559 | itree_clear (tree); |
| 560 | return tree; | 560 | return tree; |
| 561 | } | 561 | } |
| 562 | 562 | ||
| 563 | /* Reset the tree TREE to its empty state. */ | 563 | /* Reset the tree TREE to its empty state. */ |
| 564 | 564 | ||
| 565 | void | 565 | void |
| 566 | interval_tree_clear (struct itree_tree *tree) | 566 | itree_clear (struct itree_tree *tree) |
| 567 | { | 567 | { |
| 568 | tree->root = NULL; | 568 | tree->root = NULL; |
| 569 | tree->otick = 1; | 569 | tree->otick = 1; |
| @@ -583,7 +583,7 @@ interval_tree_init (struct interval_tree *tree) | |||
| 583 | 583 | ||
| 584 | /* Release a tree, freeing its allocated memory. */ | 584 | /* Release a tree, freeing its allocated memory. */ |
| 585 | void | 585 | void |
| 586 | interval_tree_destroy (struct itree_tree *tree) | 586 | itree_destroy (struct itree_tree *tree) |
| 587 | { | 587 | { |
| 588 | eassert (tree->root == NULL); | 588 | eassert (tree->root == NULL); |
| 589 | /* if (tree->iter) | 589 | /* if (tree->iter) |
| @@ -594,7 +594,7 @@ interval_tree_destroy (struct itree_tree *tree) | |||
| 594 | /* Return the number of nodes in TREE. */ | 594 | /* Return the number of nodes in TREE. */ |
| 595 | 595 | ||
| 596 | intmax_t | 596 | intmax_t |
| 597 | interval_tree_size (struct itree_tree *tree) | 597 | itree_size (struct itree_tree *tree) |
| 598 | { | 598 | { |
| 599 | return tree->size; | 599 | return tree->size; |
| 600 | } | 600 | } |
| @@ -821,7 +821,7 @@ interval_tree_insert (struct itree_tree *tree, struct itree_node *node) | |||
| 821 | } | 821 | } |
| 822 | 822 | ||
| 823 | void | 823 | void |
| 824 | itree_insert_node (struct itree_tree *tree, struct itree_node *node, | 824 | itree_insert (struct itree_tree *tree, struct itree_node *node, |
| 825 | ptrdiff_t begin, ptrdiff_t end) | 825 | ptrdiff_t begin, ptrdiff_t end) |
| 826 | { | 826 | { |
| 827 | node->begin = begin; | 827 | node->begin = begin; |
| @@ -833,14 +833,14 @@ itree_insert_node (struct itree_tree *tree, struct itree_node *node, | |||
| 833 | /* Safely modify a node's interval. */ | 833 | /* Safely modify a node's interval. */ |
| 834 | 834 | ||
| 835 | void | 835 | void |
| 836 | interval_node_set_region (struct itree_tree *tree, | 836 | itree_node_set_region (struct itree_tree *tree, |
| 837 | struct itree_node *node, | 837 | struct itree_node *node, |
| 838 | ptrdiff_t begin, ptrdiff_t end) | 838 | ptrdiff_t begin, ptrdiff_t end) |
| 839 | { | 839 | { |
| 840 | interval_tree_validate (tree, node); | 840 | interval_tree_validate (tree, node); |
| 841 | if (begin != node->begin) | 841 | if (begin != node->begin) |
| 842 | { | 842 | { |
| 843 | interval_tree_remove (tree, node); | 843 | itree_remove (tree, node); |
| 844 | node->begin = min (begin, PTRDIFF_MAX - 1); | 844 | node->begin = min (begin, PTRDIFF_MAX - 1); |
| 845 | node->end = max (node->begin, end); | 845 | node->end = max (node->begin, end); |
| 846 | interval_tree_insert (tree, node); | 846 | interval_tree_insert (tree, node); |
| @@ -1054,7 +1054,7 @@ interval_tree_transplant (struct itree_tree *tree, | |||
| 1054 | /* Remove NODE from TREE and return it. NODE must exist in TREE. */ | 1054 | /* Remove NODE from TREE and return it. NODE must exist in TREE. */ |
| 1055 | 1055 | ||
| 1056 | struct itree_node* | 1056 | struct itree_node* |
| 1057 | interval_tree_remove (struct itree_tree *tree, struct itree_node *node) | 1057 | itree_remove (struct itree_tree *tree, struct itree_node *node) |
| 1058 | { | 1058 | { |
| 1059 | eassert (interval_tree_contains (tree, node)); | 1059 | eassert (interval_tree_contains (tree, node)); |
| 1060 | eassert (check_tree (tree, true)); /* FIXME: Too expensive. */ | 1060 | eassert (check_tree (tree, true)); /* FIXME: Too expensive. */ |
| @@ -1181,7 +1181,7 @@ itree_iterator_finish (struct itree_iterator *iter) | |||
| 1181 | front_advance setting. */ | 1181 | front_advance setting. */ |
| 1182 | 1182 | ||
| 1183 | void | 1183 | void |
| 1184 | interval_tree_insert_gap (struct itree_tree *tree, | 1184 | itree_insert_gap (struct itree_tree *tree, |
| 1185 | ptrdiff_t pos, ptrdiff_t length) | 1185 | ptrdiff_t pos, ptrdiff_t length) |
| 1186 | { | 1186 | { |
| 1187 | if (length <= 0 || tree->root == NULL) | 1187 | if (length <= 0 || tree->root == NULL) |
| @@ -1201,7 +1201,7 @@ interval_tree_insert_gap (struct itree_tree *tree, | |||
| 1201 | interval_stack_push (saved, node); | 1201 | interval_stack_push (saved, node); |
| 1202 | } | 1202 | } |
| 1203 | for (int i = 0; i < saved->length; ++i) | 1203 | for (int i = 0; i < saved->length; ++i) |
| 1204 | interval_tree_remove (tree, nav_nodeptr (saved->nodes[i])); | 1204 | itree_remove (tree, nav_nodeptr (saved->nodes[i])); |
| 1205 | 1205 | ||
| 1206 | /* We can't use an iterator here, because we can't effectively | 1206 | /* We can't use an iterator here, because we can't effectively |
| 1207 | narrow AND shift some subtree at the same time. */ | 1207 | narrow AND shift some subtree at the same time. */ |
| @@ -1265,7 +1265,7 @@ interval_tree_insert_gap (struct itree_tree *tree, | |||
| 1265 | intersecting it. */ | 1265 | intersecting it. */ |
| 1266 | 1266 | ||
| 1267 | void | 1267 | void |
| 1268 | interval_tree_delete_gap (struct itree_tree *tree, | 1268 | itree_delete_gap (struct itree_tree *tree, |
| 1269 | ptrdiff_t pos, ptrdiff_t length) | 1269 | ptrdiff_t pos, ptrdiff_t length) |
| 1270 | { | 1270 | { |
| 1271 | if (length <= 0 || tree->root == NULL) | 1271 | if (length <= 0 || tree->root == NULL) |
diff --git a/src/itree.h b/src/itree.h index b4116a1fb75..3df07ac1b7e 100644 --- a/src/itree.h +++ b/src/itree.h | |||
| @@ -75,10 +75,9 @@ struct itree_node | |||
| 75 | adjustment before use as buffer positions. | 75 | adjustment before use as buffer positions. |
| 76 | 76 | ||
| 77 | NOTE: BEGIN and END must not be modified while the node is part | 77 | NOTE: BEGIN and END must not be modified while the node is part |
| 78 | of a tree. Use interval_tree_insert_gap and | 78 | of a tree. Use itree_insert_gap and itree_delete_gap instead. |
| 79 | interval_tree_delete_gap instead. | ||
| 80 | 79 | ||
| 81 | NOTE: The interval generators ensure nodes are clean before | 80 | NOTE: The interval iterators ensure nodes are clean before |
| 82 | 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 |
| 83 | positions then. | 82 | positions then. |
| 84 | */ | 83 | */ |
| @@ -107,19 +106,21 @@ enum itree_order { | |||
| 107 | ITREE_PRE_ORDER, | 106 | ITREE_PRE_ORDER, |
| 108 | }; | 107 | }; |
| 109 | 108 | ||
| 110 | void interval_node_init (struct itree_node *, bool, bool, Lisp_Object); | 109 | void itree_node_init (struct itree_node *, bool, bool, Lisp_Object); |
| 111 | ptrdiff_t interval_node_begin (struct itree_tree *, struct itree_node *); | 110 | ptrdiff_t itree_node_begin (struct itree_tree *, struct itree_node *); |
| 112 | ptrdiff_t interval_node_end (struct itree_tree *, struct itree_node *); | 111 | ptrdiff_t itree_node_end (struct itree_tree *, struct itree_node *); |
| 113 | void interval_node_set_region (struct itree_tree *, struct itree_node *, ptrdiff_t, ptrdiff_t); | 112 | void itree_node_set_region (struct itree_tree *, struct itree_node *, |
| 114 | struct itree_tree *interval_tree_create (void); | 113 | ptrdiff_t, ptrdiff_t); |
| 115 | void interval_tree_destroy (struct itree_tree *); | 114 | struct itree_tree *itree_create (void); |
| 116 | intmax_t interval_tree_size (struct itree_tree *); | 115 | void itree_destroy (struct itree_tree *); |
| 117 | void interval_tree_clear (struct itree_tree *); | 116 | intmax_t itree_size (struct itree_tree *); |
| 118 | void itree_insert_node (struct itree_tree *tree, struct itree_node *node, | 117 | void itree_clear (struct itree_tree *); |
| 119 | ptrdiff_t begin, ptrdiff_t end); | 118 | void itree_insert (struct itree_tree *tree, struct itree_node *node, |
| 120 | struct itree_node *interval_tree_remove (struct itree_tree *, struct itree_node *); | 119 | ptrdiff_t begin, ptrdiff_t end); |
| 121 | void interval_tree_insert_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t); | 120 | struct itree_node *itree_remove (struct itree_tree *, |
| 122 | void interval_tree_delete_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t); | 121 | struct itree_node *); |
| 122 | void itree_insert_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t); | ||
| 123 | void itree_delete_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t); | ||
| 123 | 124 | ||
| 124 | /* Iteration functions. Almost all code should use ITREE_FOREACH | 125 | /* Iteration functions. Almost all code should use ITREE_FOREACH |
| 125 | instead. */ | 126 | instead. */ |