Update page '2.6. vtype_string'

Gregory Lirent 2022-08-17 21:11:16 +03:00
parent c0746b992d
commit 17bca7c7aa

@ -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**, содержащее юникод символы, которые будут отсечены от строки.
-