summaryrefslogtreecommitdiff
path: root/Documentation/technical/api-allocation-growing.txt
diff options
context:
space:
mode:
authorHeba Waly <heba.waly@gmail.com>2019-11-17 21:04:51 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-11-18 06:21:29 (GMT)
commit13aa9c8b708dd65f32ac12f8b2faa48f5a89f07d (patch)
tree8db1c634c0134753da46af9e8a868d64443530df /Documentation/technical/api-allocation-growing.txt
parentc0be43f8986b1653cb4c401e288f38b1b5d595de (diff)
downloadgit-13aa9c8b708dd65f32ac12f8b2faa48f5a89f07d.zip
git-13aa9c8b708dd65f32ac12f8b2faa48f5a89f07d.tar.gz
git-13aa9c8b708dd65f32ac12f8b2faa48f5a89f07d.tar.bz2
cache: move doc to cache.h
Move the documentation from Documentation/technical/api-allocation-growing.txt to cache.h as it's easier for the developers to find the usage information beside the code instead of looking for it in another doc file. Also documentation/technical/api-allocation-growing.txt is removed because the information it has is now redundant and it'll be hard to keep it up to date and synchronized with the documentation in the header file. Signed-off-by: Heba Waly <heba.waly@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/technical/api-allocation-growing.txt')
-rw-r--r--Documentation/technical/api-allocation-growing.txt39
1 files changed, 0 insertions, 39 deletions
diff --git a/Documentation/technical/api-allocation-growing.txt b/Documentation/technical/api-allocation-growing.txt
deleted file mode 100644
index 5a59b54..0000000
--- a/Documentation/technical/api-allocation-growing.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-allocation growing API
-======================
-
-Dynamically growing an array using realloc() is error prone and boring.
-
-Define your array with:
-
-* a pointer (`item`) that points at the array, initialized to `NULL`
- (although please name the variable based on its contents, not on its
- type);
-
-* an integer variable (`alloc`) that keeps track of how big the current
- allocation is, initialized to `0`;
-
-* another integer variable (`nr`) to keep track of how many elements the
- array currently has, initialized to `0`.
-
-Then before adding `n`th element to the item, call `ALLOC_GROW(item, n,
-alloc)`. This ensures that the array can hold at least `n` elements by
-calling `realloc(3)` and adjusting `alloc` variable.
-
-------------
-sometype *item;
-size_t nr;
-size_t alloc
-
-for (i = 0; i < nr; i++)
- if (we like item[i] already)
- return;
-
-/* we did not like any existing one, so add one */
-ALLOC_GROW(item, nr + 1, alloc);
-item[nr++] = value you like;
-------------
-
-You are responsible for updating the `nr` variable.
-
-If you need to specify the number of elements to allocate explicitly
-then use the macro `REALLOC_ARRAY(item, alloc)` instead of `ALLOC_GROW`.