Update page '2.6. vtype_string'

Gregory Lirent 2022-08-17 20:43:35 +03:00
parent c62b90c2cc
commit c0746b992d

@ -2,22 +2,168 @@
### [include/string.h](https://gogs.lirent.ru/lirent/libcdsb/src/master/include/string.h)
##### Интерфейс callback-функции доступа к элементу (далее CallbackT)
##### Базовый блок
- `void string_init(vtype_string* x, const char* value)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
- `char* string_at(const vtype_string* s, ssize_t index)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
- `bool string_slice(vtype_string* x, vtype_string* s, ssize_t index, size_t nchars, bool cut)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
##### Макросы
- `ssize_t string_indexof(const vtype_string* s, T arg)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `s`.
-
- `size_t string_count(const vtype_string* s, T arg)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `s`.
-
- `bool string_concat(vtype_string* s, T value)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `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`.
-
### [include/extra/string.h](https://gogs.lirent.ru/lirent/libcdsb/src/master/include/extra/string.h)
##### Макросы
- `vtype_array string_split(const vtype_string* s, T sep, size_t maxn)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
- `int string_case_compare(const vtype_string* s0, const vtype_string* s1)`
- Принимает два указателя на области памяти, содержащие инициализированные значения **vtype_string**.
- Производит сравнение строк без учета регистра (с поддержкой юникод-символов)
- Возвращает 0 если значения контейнеров равны, значения < 0 и > 0, если значения s0 меньше или больше значений s1 соответственно.
- `size_t string_replace_r(vtype_string* x, T src, T dest, size_t maxn)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
- `void string_trim(vtype_string* x, T arg)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
- `void string_ltrim(vtype_string* x, T arg)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
- `void string_rtrim(vtype_string* x, T arg)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
##### Дополнительный блок
- `size_t string_to_lower(vtype_string* x)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
- `size_t string_to_upper(vtype_string* x)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
- `size_t string_capitalize(vtype_string* x)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
- `size_t string_reverse(vtype_string* x)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
- `size_t string_align_center(vtype_string* x, size_t padsize, int padchr)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
- `size_t string_align_right(vtype_string* x, size_t padsize, int padchr)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
- `size_t string_align_left(vtype_string* x, size_t padsize, int padchr)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-
- `void libcdsb_string_replace(vtype_string* x, char* dest, size_t dest_nmemb, const char* src, size_t nmemb)`
- Принимает указатель на область памяти, содержащую инициализированное значение **vtype_string** `x`.
-