From 17bca7c7aa56760d489928053f343bf97ab5dcaf Mon Sep 17 00:00:00 2001 From: Gregory Lirent Date: Wed, 17 Aug 2022 21:11:16 +0300 Subject: [PATCH] Update page '2.6. vtype_string' --- 2.6. vtype_string.md | 50 +++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/2.6. vtype_string.md b/2.6. vtype_string.md index d4b6f23..f9df4cb 100644 --- a/2.6. vtype_string.md +++ b/2.6. vtype_string.md @@ -7,20 +7,26 @@ - `void string_init(vtype_string* x, const char* value)` - - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`. - - + - Принимает указатель на область памяти, содержащую инициализируемую строку `x`. + - Принимает указатель на C-строку, которая будет установлена в качестве значения `x`. Если вместо указателя передан **NULL**, строка будет инициализированна пустым значением. + - Инициализирует строку, позволяя использовать его в дальнейшей логике приложения. - `char* string_at(const vtype_string* s, ssize_t index)` - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`. - - + - Принимает значение индекса юникод символа `index`, указатель на который следует вернуть. Отрицательные значения индекса указывают на символы, начианая с последнего (где индекс -1 указывает на последний символ строки). Если отрицательное значение индекса по модулю превышает количество юникод символов в строке, то будет считаться, что запрос сделан с индексом равным нулю. + - Возвращает указатель на запрошенный символ, либо NULL, если индекс превышает количество юникод символов в строке. -- `bool string_slice(vtype_string* x, vtype_string* s, ssize_t index, size_t nchars, bool cut)` +- `bool string_slice(vtype_string* x, vtype_string* src, ssize_t index, size_t nchars, bool cut)` - - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`. - - + - Принимает указатель на область памяти, содержащую инициализируемую строку `x`. + - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `src`. + - Принимает значение индекса юникод символа `index`, начиная с которого, требуется начать "срез" строки. Отрицательные значения индекса указывают на символы, начианая с последнего (где индекс -1 указывает на последний символ строки). Если отрицательное значение индекса по модулю превышает количество юникод символов в строке, то будет считаться, что запрос сделан с индексом равным нулю. + - Принимает значение количества юникод символов `count`, которыми необходимо инициализировать `x` в рамках "среза" данных `src`, начиная с `index`. В случае, если количество элементов, начиная с `index` меньше `count`, вместо `count` будет использовано количество оставшихся юникод символов. + - Принимает булевое значение `cut`, сообщающее о необходимости вырезать полученный "срез" данных из `src`. + - Возвращает итоговое количество элементов, вошедших в "срез". @@ -30,46 +36,50 @@ - `ssize_t string_indexof(const vtype_string* s, T arg)` - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `s`. - - + - Принимает значение char/char16_t/char32_t, указатель на C-строку или указатель на область памяти, содержащую **vtype_string**, в качестве значения, которое нужно найти в строке. + - Возвращает индекс, указывающий на начальный символ первого найденного отрезка, равного `arg`. - `size_t string_count(const vtype_string* s, T arg)` - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `s`. - - + - Принимает значение char/char16_t/char32_t, указатель на C-строку или указатель на область памяти, содержащую **vtype_string**, в качестве значения, которое нужно найти в строке. + - Возвращает количество найденных соответствий с `arg` в строке. -- `bool string_concat(vtype_string* s, T value)` +- `bool string_concat(vtype_string* x, T value)` - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`. - - + - Принимает значение char/char16_t/char32_t, указатель на C-строку или указатель на область памяти, содержащую **vtype_string**, в качестве значения, которое необходимо добавить к строке `x`. + - Добавляет значение `arg` в конец строки `x`. - `void string_trim_spaces(vtype_string* x)` - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`. - - + - Удаляет пробельные символы в начале и конце строки. - `void string_ltrim_spaces(vtype_string* x)` - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`. - - + - Удаляет пробельные символы в начале строки. - `void string_rtrim_spaces(vtype_string* x)` - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`. - - + - Удаляет пробельные символы в конце строки. - `size_t string_replace(vtype_string* x, T src, T dest, size_t maxn)` - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`. - - - - - + - Принимает значение char/char16_t/char32_t, указатель на C-строку или указатель на область памяти, содержащую **vtype_string**, в качестве значения, которое будет заменено. + - Принимает значение char/char16_t/char32_t, указатель на C-строку или указатель на область памяти, содержащую **vtype_string**, в качестве значения, на которое будет произведена замена. + - Принимает значение `maxn`, которое устанавливает лимит замен. + - Производит не более `maxn` замен значений, равных `src` в строке `x`, на значения равные `dest`. + - Возвращает количество произведенных замен. ### [include/extra/string.h](https://gogs.lirent.ru/lirent/libcdsb/src/master/include/extra/string.h) @@ -79,6 +89,7 @@ - `vtype_array string_split(const vtype_string* s, T sep, size_t maxn)` - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`. + - Принимает значение char/char16_t/char32_t, указатель на C-строку или указатель на область памяти, содержащую **vtype_string**, в качестве значения, по которому будет производиться деление строки на части. - @@ -92,24 +103,29 @@ - `size_t string_replace_r(vtype_string* x, T src, T dest, size_t maxn)` - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`. + - Принимает значение char/char16_t/char32_t, указатель на C-строку или указатель на область памяти, содержащую **vtype_string**, в качестве значения, которое будет заменено. + - Принимает значение char/char16_t/char32_t, указатель на C-строку или указатель на область памяти, содержащую **vtype_string**, в качестве значения, на которое будет произведена замена. - - `void string_trim(vtype_string* x, T arg)` - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`. + - Принимает значение char/char16_t/char32_t, указатель на C-строку или указатель на область памяти, содержащую **vtype_string**, содержащее юникод символы, которые будут отсечены от строки. - - `void string_ltrim(vtype_string* x, T arg)` - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`. + - Принимает значение char/char16_t/char32_t, указатель на C-строку или указатель на область памяти, содержащую **vtype_string**, содержащее юникод символы, которые будут отсечены от строки. - - `void string_rtrim(vtype_string* x, T arg)` - Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`. + - Принимает значение char/char16_t/char32_t, указатель на C-строку или указатель на область памяти, содержащую **vtype_string**, содержащее юникод символы, которые будут отсечены от строки. -