From 2bc1887dd6441372568e11140138f23087006a82 Mon Sep 17 00:00:00 2001 From: Gregory Lirent Date: Wed, 17 Aug 2022 15:04:34 +0300 Subject: [PATCH] Update page '2.1. vtype_array' --- 2.1. vtype_array.md | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/2.1. vtype_array.md b/2.1. vtype_array.md index 2c81c75..b353b75 100644 --- a/2.1. vtype_array.md +++ b/2.1. vtype_array.md @@ -2,6 +2,15 @@ ### [include/array.h](https://gogs.lirent.ru/lirent/libcdsb/src/master/include/array.h) +##### Интерфейс callback-функции доступа к элементу (далее CallbackT) + +-`int callback(void* value, ssize_t index, vtype type, void* data)` + - `value` <- указатель на область памяти, в которой располагается объект, доступ к которому обеспечивается данной функцией. + - `index` <- индекс элемента, к которому обеспечивается доступ, в рамках контейнера. + - `type` <- значение типа, заданное константой перечисления **vtype**, соответствующее типу данных, к которым обеспечивается доступ. + - `data` <- произвольные пользовательские данные, которые будут переданны в callback вызывающим методом. + + ##### Базовый блок - `void array_init(vtype_array* x, vtype type)` - `void* array_at(const vtype_array* s, ssize_t index)` @@ -10,17 +19,14 @@ - `void array_reverse(vtype_array* x)` -##### Callback-функция доступа к элементу (далее Callback) - - ##### Макросы - `void array_push_back(vtype_array* x, T value)` - `bool array_countof(vtype_array* x, T value)` - `bool array_remove(vtype_array* x, T value)` - `bool in_array(vtype_array* x, T value)` -- `int array_pop(vtype_array* x, T value, void* data, Callback callback)` -- `int array_find(vtype_array* x, T value, void* data, Callback callback)` -- `int array_rfind(vtype_array* x, T value, void* data, Callback callback)` +- `int array_pop(vtype_array* x, T value, void* data, CallbackT callback)` +- `int array_find(vtype_array* x, T value, void* data, CallbackT callback)` +- `int array_rfind(vtype_array* x, T value, void* data, CallbackT callback)` ### [include/extra/array.h](https://gogs.lirent.ru/lirent/libcdsb/src/master/include/extra/array.h) @@ -34,10 +40,10 @@ ##### Макросы -- `int array_get_by_index(vtype_array* x, ssize_t index, void* data, Callback callback)` -- `int array_pop_by_index(vtype_array* x, ssize_t index, void* data, Callback callback)` +- `int array_get_by_index(vtype_array* x, ssize_t index, void* data, CallbackT callback)` +- `int array_pop_by_index(vtype_array* x, ssize_t index, void* data, CallbackT callback)` - `int array_remove_by_index(vtype_array* x, ssize_t index)` -- `int array_foreach(vtype_array* x, void* data, Callback callback)` +- `int array_foreach(vtype_array* x, void* data, CallbackT callback)`