From e4cbfccf75bf23ff80793115cd7f8178f80a28e6 Mon Sep 17 00:00:00 2001 From: Gregory Lirent Date: Wed, 17 Aug 2022 12:58:13 +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 | 80 ++++++++++++++++++++++++++-------------- 1 file changed, 53 insertions(+), 27 deletions(-) diff --git a/2. Заголовочные файлы.md b/2. Заголовочные файлы.md index 9029511..f748f12 100644 --- a/2. Заголовочные файлы.md +++ b/2. Заголовочные файлы.md @@ -34,93 +34,119 @@ ##### 1. Определение размера контейнера - `size_t string_size(const vtype_string* x)` - - Принимает указатель на инициализированное значение **vtype_string**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string**. - Возвращает подсчитанное количество символов в строке (с поддержкой юникода). - `size_t string_nmemb(const vtype_string* x)` - - Принимает указатель на инициализированное значение **vtype_string**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string**. - Возвращает подсчитанный размер строки в байтах (также как это сделал бы **strlen**) - `size_t array_size(const vtype_array* x)` - - Принимает указатель на инициализированное значение **vtype_array**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_array**. - Возвращает количество элементов находящихся внутри контейнера. - `size_t array_nmemb(const vtype_array* x)` - - Принимает указатель на инициализированное значение **vtype_array**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_array**. - Возвращает размер блока памяти контейнера в байтах. - `size_t list_size(const vtype_list* x)` - - Принимает указатель на инициализированное значение **vtype_list**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_list**. - Возвращает подсчитанное количество элементов, находящихся внутри контейнера. - `size_t map_size(const vtype_map* x)` - - Принимает указатель на инициализированное значение **vtype_map**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_map**. - Возвращает подсчитанное количество элементов, находящихся внутри контейнера. - `size_t vset_size(const vtype_set* x)` - - Принимает указатель на инициализированное значение **vtype_set**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_set**. - Возвращает подсчитанное количество элементов, находящихся внутри контейнера. - `size_t dict_size(const vtype_dict* x)` - - Принимает указатель на инициализированное значение **vtype_dict**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_dict**. - Возвращает количество элементов, находящихся внутри контейнера. - `size_t dict_capacity(const vtype_dict* x)` - - Принимает указатель на инициализированное значение **vtype_dict**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_dict**. - Возвращает текущий размер таблицы, доступной для вставки значений. ##### 2. Сравнение контейнеров между собой (также см. [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 string_compare(const vtype_string* s0, const vtype_string* s1)` - - Принимает два указателя на инициализированные значения **vtype_string**. + - Принимает два указателя на области памяти, содержащие инициализированные значения **vtype_string**. - Возвращает 0 если строки равны, значения < 0 и > 0, если значение s0 меньше или больше значения s1 соответственно. - `int array_compare(const vtype_array* s0, const vtype_array* s1)` - - Принимает два указателя на инициализированные значения **vtype_array**. + - Принимает два указателя на области памяти, содержащие инициализированные значения **vtype_array**. - Возвращает 0 если значения контейнеров равны, значения < 0 и > 0, если значения s0 меньше или больше значений s1 соответственно. - `int list_compare(const vtype_list* s0, const vtype_list* s1)` - - Принимает два указателя на инициализированные значения **vtype_list**. + - Принимает два указателя на области памяти, содержащие инициализированные значения **vtype_list**. - Возвращает 0 если значения контейнеров равны, значения < 0 и > 0, если значения s0 меньше или больше значений s1 соответственно. - `int map_compare(const vtype_map* s0, const vtype_map* s1)` - - Принимает два указателя на инициализированные значения **vtype_map**. + - Принимает два указателя на области памяти, содержащие инициализированные значения **vtype_map**. - Возвращает 0 если значения контейнеров равны, значения < 0 и > 0, если значения s0 меньше или больше значений s1 соответственно. - `int vset_compare(const vtype_set* s0, const vtype_set* s1)` - - Принимает два указателя на инициализированные значения **vtype_set**. + - Принимает два указателя на области памяти, содержащие инициализированные значения **vtype_set**. - Возвращает 0 если значения контейнеров равны, значения < 0 и > 0, если значения s0 меньше или больше значений s1 соответственно. - `int dict_compare(const vtype_dict* s0, const vtype_dict* s1)` - - Принимает два указателя на инициализированные значения **vtype_dict**. + - Принимает два указателя на области памяти, содержащие инициализированные значения **vtype_dict**. - Возвращает 0 если значения контейнеров равны, значения < 0 и > 0, если значения s0 меньше или больше значений s1 соответственно. ##### 3. Глубокое копирование контейнера - `vtype_string string_copy(const vtype_string* s)` - - Принимает указатель на инициализированное значение **vtype_string**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string**. - Возвращает новое инициализированное значение строки, равное содержимому `s`. - `vtype_array array_copy(const vtype_array* s)` - - Принимает указатель на инициализированное значение **vtype_array**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_array**. - Возвращает новое инициализированное значение контейнера, равное содержимому `s`. - `vtype_list list_copy(const vtype_list* s)` - - Принимает указатель на инициализированное значение **vtype_list**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_list**. - Возвращает новое инициализированное значение контейнера, равное содержимому `s`. - `vtype_map map_copy(const vtype_map* s)` - - Принимает указатель на инициализированное значение **vtype_map**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_map**. - Возвращает новое инициализированное значение контейнера, равное содержимому `s`. - `vtype_set vset_copy(const vtype_set* s)` - - Принимает указатель на инициализированное значение **vtype_set**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_set**. - Возвращает новое инициализированное значение контейнера, равное содержимому `s`. - `vtype_dict dict_copy(const vtype_dict* s)` - - Принимает указатель на инициализированное значение **vtype_dict**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_dict**. - Возвращает новое инициализированное значение контейнера, равное содержимому `s`. ##### 4. Глубокое копирование области памяти, содержащей контейнер - `vtype_string* string_duplicate(const vtype_string* s)` - - Принимает указатель на инициализированное значение **vtype_string**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string**. - Возвращает новый выделенный блок памяти (равный `sizeof(vtype_string)`), инициализированный значением строки, равным содержимому `s`. - `vtype_array* array_duplicate(const vtype_array* s)` - - Принимает указатель на инициализированное значение **vtype_array**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_array**. - Возвращает новый выделенный блок памяти (равный `sizeof(vtype_array)`), инициализированный значением контейнера, равным содержимому `s`. - `vtype_list* list_duplicate(const vtype_list* s)` - - Принимает указатель на инициализированное значение **vtype_list**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_list**. - Возвращает новый выделенный блок памяти (равный `sizeof(vtype_list)`), инициализированный значением контейнера, равным содержимому `s`. - `vtype_map* map_duplicate(const vtype_map* s)` - - Принимает указатель на инициализированное значение **vtype_map**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_map**. - Возвращает новый выделенный блок памяти (равный `sizeof(vtype_map)`), инициализированный значением контейнера, равным содержимому `s`. - `vtype_set* vset_duplicate(const vtype_set* s)` - - Принимает указатель на инициализированное значение **vtype_set**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_set**. - Возвращает новый выделенный блок памяти (равный `sizeof(vtype_set)`), инициализированный значением контейнера, равным содержимому `s`. - `vtype_dict* dict_duplicate(const vtype_dict* s)` - - Принимает указатель на инициализированное значение **vtype_dict**. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_dict**. - Возвращает новый выделенный блок памяти (равный `sizeof(vtype_dict)`), инициализированный значением контейнера, равным содержимому `s`. + +##### 5. Инициализация контейнера значением другого контейнера +- `void string_copy_init(vtype_string* x, const vtype_string* s)` + - Принимает указатель на область памяти, содержащую инициализируемую строку `x`. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `s`. + - Инициализирует область памяти `x` значением строки, равным содержимому `s`. +- `void array_copy_init(vtype_array* x, const vtype_array* s)` + - Принимает указатель на область памяти, содержащую инициализируемый контейнер `x`. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_array** `s`. + - Инициализирует область памяти `x` значением контейнера, равным содержимому `s`. +- `void list_copy_init(vtype_list* x, const vtype_list* s)` + - Принимает указатель на область памяти, содержащую инициализируемый контейнер `x`. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_list** `s`. + - Инициализирует область памяти `x` значением контейнера, равным содержимому `s`. +- `void map_copy_init(vtype_map* x, const vtype_map* s)` + - Принимает указатель на область памяти, содержащую инициализируемый контейнер `x`. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_map** `s`. + - Инициализирует область памяти `x` значением контейнера, равным содержимому `s`. +- `void vset_copy_init(vtype_set* x, const vtype_set* s)` + - Принимает указатель на область памяти, содержащую инициализируемый контейнер `x`. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_set** `s`. + - Инициализирует область памяти `x` значением контейнера, равным содержимому `s`. +- `void dict_copy_init(vtype_dict* x, const vtype_dict* s)` + - Принимает указатель на область памяти, содержащую инициализируемый контейнер `x`. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_dict** `s`. + - Инициализирует область памяти `x` значением контейнера, равным содержимому `s`.