Update page '2.1. vtype_array'
parent
99e8c3a7ad
commit
2bc1887dd6
@ -2,6 +2,15 @@
|
|||||||
|
|
||||||
### [include/array.h](https://gogs.lirent.ru/lirent/libcdsb/src/master/include/array.h)
|
### [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_init(vtype_array* x, vtype type)`
|
||||||
- `void* array_at(const vtype_array* s, ssize_t index)`
|
- `void* array_at(const vtype_array* s, ssize_t index)`
|
||||||
@ -10,17 +19,14 @@
|
|||||||
- `void array_reverse(vtype_array* x)`
|
- `void array_reverse(vtype_array* x)`
|
||||||
|
|
||||||
|
|
||||||
##### Callback-функция доступа к элементу (далее Callback)
|
|
||||||
|
|
||||||
|
|
||||||
##### Макросы
|
##### Макросы
|
||||||
- `void array_push_back(vtype_array* x, T value)`
|
- `void array_push_back(vtype_array* x, T value)`
|
||||||
- `bool array_countof(vtype_array* x, T value)`
|
- `bool array_countof(vtype_array* x, T value)`
|
||||||
- `bool array_remove(vtype_array* x, T value)`
|
- `bool array_remove(vtype_array* x, T value)`
|
||||||
- `bool in_array(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_pop(vtype_array* x, T value, void* data, CallbackT callback)`
|
||||||
- `int array_find(vtype_array* x, T value, void* data, Callback callback)`
|
- `int array_find(vtype_array* x, T value, void* data, CallbackT callback)`
|
||||||
- `int array_rfind(vtype_array* x, T value, void* data, Callback 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)
|
### [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_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, Callback 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_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)`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user