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)`