Update page '2.3. vtype_list'
parent
e7b621b86a
commit
5a3701f850
@ -3,20 +3,110 @@
|
||||
### [include/list.h](https://gogs.lirent.ru/lirent/libcdsb/src/master/include/list.h)
|
||||
|
||||
##### Интерфейс callback-функции доступа к элементу (далее CallbackT)
|
||||
- ``
|
||||
|
||||
|
||||
##### Базовый блок
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
|
||||
|
||||
##### Макросы
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
- ``
|
||||
|
||||
|
||||
|
||||
### [include/extra/list.h](https://gogs.lirent.ru/lirent/libcdsb/src/master/include/extra/list.h)
|
||||
|
||||
##### Макросы
|
||||
- `int list_get_by_index(vtype_list* x, ssize_t index, void* data, CallbackT callback)`
|
||||
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_list** `x`.
|
||||
- Принимает значение индекса данных `index`, которые следует вернуть. Отрицательные значения индекса указывают на элементы, начианая с последнего (где индекс -1 указывает на последний элемент массива). Если отрицательное значение индекса по модулю превышает размерность массива, то будет считаться, что запрос сделан с индексом равным нулю.
|
||||
- Принимает указатель на произвольные пользовательские данные `data`.
|
||||
- Принимает указатель на функцию-callback (см. начало текущего документа).
|
||||
- Вызывает callback-функцию cо значением находящимся по запрошенному индексу, в качестве аргумента.
|
||||
- Возвращает -1, если индекс выходит за границы области памяти, принадлежащей контейнеру. В противном случае возвращает значение возвращенное callback-функцией.
|
||||
- `int list_pop_by_index(vtype_list* x, ssize_t index, void* data, CallbackT callback)`
|
||||
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_list** `x`.
|
||||
- Принимает значение индекса данных `index`, которые следует вернуть. Отрицательные значения индекса указывают на элементы, начианая с последнего (где индекс -1 указывает на последний элемент массива). Если отрицательное значение индекса по модулю превышает размерность массива, то будет считаться, что запрос сделан с индексом равным нулю.
|
||||
- Принимает указатель на произвольные пользовательские данные `data`.
|
||||
- Принимает указатель на функцию-callback (см. начало текущего документа).
|
||||
- Вызывает callback-функцию cо значением находящимся по запрошенному индексу, в качестве аргумента. После чего удаляет данный объект из контейнера.
|
||||
- Возвращает -1, если индекс выходит за границы области памяти, принадлежащей контейнеру. В противном случае возвращает значение возвращенное callback-функцией.
|
||||
- `int list_remove_by_index(vtype_list* x, ssize_t index)`
|
||||
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_list** `x`.
|
||||
- Принимает значение индекса данных `index`, которые следует вернуть. Отрицательные значения индекса указывают на элементы, начианая с последнего (где индекс -1 указывает на последний элемент массива). Если отрицательное значение индекса по модулю превышает размерность массива, то будет считаться, что запрос сделан с индексом равным нулю.
|
||||
- Возвращает `0`, в случае успешного удаления элемента, или `-1` в случае, если индекс выходит за границы области памяти, принадлежащей контейнеру.
|
||||
- `int list_foreach(vtype_list* x, void* data, CallbackT callback)`
|
||||
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_list** `x`.
|
||||
- Принимает указатель на произвольные пользовательские данные `data`.
|
||||
- Принимает указатель на функцию-callback (см. начало текущего документа).
|
||||
- Вызывает callback-функцию последовательно, с каждым элементом контейнера, в качестве аргумента. Если callback возвращает значение отличное от 0, то перебор будет прерван.
|
||||
- Возвращает 0, в случае успеха, или любое другое значение, возвращенное пользовательской callback-функцией.
|
||||
|
||||
|
||||
|
||||
##### Дополнительный блок
|
||||
- `bool libcdsb_list_update(vtype_list* x, ssize_t index, const void* value, vtype type, int ins_direction)`
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
- `size_t libcdsb_list_count(const vtype_list* s, const void* value, vtype type)`
|
||||
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_list** `x`.
|
||||
- Принимает указатель на передаваемые данные `value`.
|
||||
- Принимает константу идентификатора типа данных `value_type`.
|
||||
- Возвращает количество элементов, равных `value` (см. [1.1. Система типов](https://gogs.lirent.ru/lirent/libcdsb/wiki/1.1.+%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0+%D1%82%D0%B8%D0%BF%D0%BE%D0%B2)).
|
||||
- `int libcdsb_list_find(vtype_list* x, const void* value, vtype type, void* data, CallbackT callback, bool reverse, bool cut)`
|
||||
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_list** `x`.
|
||||
- Принимает указатель на передаваемые данные `value`.
|
||||
- Принимает константу идентификатора типа данных `value_type`.
|
||||
- Принимает указатель на произвольные пользовательские данные `data`.
|
||||
- Принимает указатель на функцию-callback (см. начало текущего документа).
|
||||
- Принимает **bool** значение `reverse` указывающее на необходимость поиска значения с конца.
|
||||
- Принимает **bool** значение `cut`, указывающее на необходимость удаление найденного элемента.
|
||||
- Вызывает callback-функцию c первым найденным значением, равным `value`, в качестве аргумента.
|
||||
- Возвращает -1, если значение равное `value` не было найдено внутри контейнера. В противном случае возвращает значение возвращенное callback-функцией.
|
||||
- `int libcdsb_list_get(vtype_list* x, ssize_t index, void* data, CallbackT callback, bool cut)`
|
||||
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_list** `x`.
|
||||
- Принимает значение индекса данных `index`, которые следует вернуть. Отрицательные значения индекса указывают на элементы, начианая с последнего (где индекс -1 указывает на последний элемент массива). Если отрицательное значение индекса по модулю превышает размерность массива, то будет считаться, что запрос сделан с индексом равным нулю.
|
||||
- Принимает указатель на произвольные пользовательские данные `data`.
|
||||
- Принимает указатель на функцию-callback (см. начало текущего документа).
|
||||
- Принимает **bool** значение `cut`, указывающее на необходимость удаление элемента по указанному индексу.
|
||||
- Возвращает -1, если индекс выходит за границы области памяти, принадлежащей контейнеру. В противном случае возвращает значение возвращенное callback-функцией.
|
||||
- `int libcdsb_list_foreach(vtype_list* x, void* data, CallbackT callback, bool flush)`
|
||||
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_list** `x`.
|
||||
- Принимает указатель на произвольные пользовательские данные `data`.
|
||||
- Принимает указатель на функцию-callback (см. начало текущего документа).
|
||||
- Принимает **bool** значение `flush`, указывающее на необходимость очистки контейнера после выполнения перебора.
|
||||
- Вызывает callback-функцию последовательно, с каждым элементом контейнера, в качестве аргумента. Если callback возвращает значение отличное от 0, то перебор будет прерван. Если установлен флаг `flush`, то очистка контейнера произойдет в любом случае, вне зависимости от того, было ли прерывание перебора со стороны пользователя.
|
||||
- Возвращает 0, в случае успеха, или любое другое значение, возвращенное пользовательской callback-функцией.
|
||||
|
||||
|
||||
|
||||
[Далее: 2.4. vtype_map](https://gogs.lirent.ru/lirent/libcdsb/wiki/2.4.+vtype_map)
|
Loading…
Reference in New Issue
Block a user