From 5b996e4d37f0c6e74509ce6177712da7dd5b1a59 Mon Sep 17 00:00:00 2001 From: Gregory Lirent Date: Wed, 17 Aug 2022 12:24:12 +0300 Subject: [PATCH] =?UTF-8?q?Update=20page=20'2.=20=D0=97=D0=B0=D0=B3=D0=BE?= =?UTF-8?q?=D0=BB=D0=BE=D0=B2=D0=BE=D1=87=D0=BD=D1=8B=D0=B5=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=D1=8B'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2. Заголовочные файлы.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/2. Заголовочные файлы.md b/2. Заголовочные файлы.md index 262d236..aa6d7af 100644 --- a/2. Заголовочные файлы.md +++ b/2. Заголовочные файлы.md @@ -29,4 +29,16 @@ Где первые два предоставляют доступ к внутренним реализациям работы с памятью для пользовательского кода (в том числе повторяя или являясь оберткой над функционалом стандартной библиотеки), а последний - предоставляет методы для генерации C-строк (с основанием на значении **vtype**). #### [include/vtype.h](https://gogs.lirent.ru/lirent/libcdsb/src/master/include/vtype.h) - \ No newline at end of file + +Помимо декларации типов и перечисления **vtype**, предоставляющего функционал их идентификации, в файле задекларировано 7 следующих базовых групп методов для работы с контейнерами: + +- Определение размера контейнера + - `size_t string_size(const vtype_string* x)` принимает указатель на инициализированное значение **vtype_string**, возвращает подсчитанное количество символов в строке (с поддержкой юникода). + - `size_t string_nmemb(const vtype_string* x)` принимает указатель на инициализированное значение **vtype_string**, возвращает подсчитанный размер строки в байтах (также как это сделал бы **strlen**) + - `size_t array_size(const vtype_array* x)` принимает указатель на инициализированное значение **vtype_array**, возвращает количество элементов находящихся внутри контейнера. + - `size_t array_nmemb(const vtype_array* x)` принимает указатель на инициализированное значение **vtype_array**, возвращает размер блока памяти контейнера в байтах. + - `size_t list_size(const vtype_list* x)` принимает указатель на инициализированное значение **vtype_list**, возвращает подсчитанное количество элементов, находящихся внутри контейнера. + - `size_t map_size(const vtype_map* x)` принимает указатель на инициализированное значение **vtype_map**, возвращает подсчитанное количество элементов, находящихся внутри контейнера. + - `size_t vset_size(const vtype_set* x)` принимает указатель на инициализированное значение **vtype_set**, возвращает подсчитанное количество элементов, находящихся внутри контейнера. + - `size_t dict_size(const vtype_dict* x)` принимает указатель на инициализированное значение **vtype_dict**, возвращает количество элементов, находящихся внутри контейнера. + - `size_t dict_capacity(const vtype_dict* x)` принимает указатель на инициализированное значение **vtype_dict**, возвращает текущий размер таблицы, доступной для вставки значений. \ No newline at end of file