|
| template<typename K, typename A, StrExprForType< K > E> |
| std::basic_string< K, std::char_traits< K >, A > & | change (std::basic_string< K, std::char_traits< K >, A > &str, size_t from, size_t count, const E &expr) |
| | Изменить часть стандартной строки на заданное строковое выражение.
|
| |
| template<typename K, typename A, StrExprForType< K > E> |
| std::basic_string< K, std::char_traits< K >, A > & | append (std::basic_string< K, std::char_traits< K >, A > &str, const E &expr) |
| | Добавить к стандартной строке строковое выражение.
|
| |
| template<typename K, typename A, StrExprForType< K > E> |
| std::basic_string< K, std::char_traits< K >, A > & | prepend (std::basic_string< K, std::char_traits< K >, A > &str, const E &expr) |
| | Вставить строковое выражение в начало стандартной строки.
|
| |
| template<typename K, typename A, StrExprForType< K > E> |
| std::basic_string< K, std::char_traits< K >, A > & | insert (std::basic_string< K, std::char_traits< K >, A > &str, size_t from, const E &expr) |
| | Вставить строковое выражение в указанную позицию стандартной строки.
|
| |
template<typename K, typename A, StrExprForType< K > E, typename T>
requires (std::is_constructible_v<str_src<K>, T>) |
| std::basic_string< K, std::char_traits< K >, A > & | replace (std::basic_string< K, std::char_traits< K >, A > &str, T &&pattern, const E &repl, size_t offset=0, size_t max_count=-1) |
| | Функция поиска подстрок в стандартной строке и замены найденных вхождений на значение строкового выражения.
|
| |
| template<typename K, typename A> |
| std::basic_string< K, std::char_traits< K >, A > & | replace (std::basic_string< K, std::char_traits< K >, A > &str, str_src< K > pattern, str_src< K > repl, size_t offset=0, size_t max_count=-1) |
| | Функция поиска подстрок в стандартной строке и замены найденных вхождений на другую подстроку.
|
| |
Небольшое пространство для методов работы со стандартными строками.
template<typename K, typename A, StrExprForType< K > E>
| std::basic_string< K, std::char_traits< K >, A > & simstr::str::append |
( |
std::basic_string< K, std::char_traits< K >, A > & | str, |
|
|
const E & | expr ) |
Добавить к стандартной строке строковое выражение.
- Параметры шаблона
-
| K | - тип символов. |
| A | - тип аллокатора. |
| E | - тип строкового выражения. |
- Аргументы
-
| str | - строка. |
| expr | - строковое выражение для вставки. |
- Возвращает
- std::basic_string<K, std::char_traits<K>, A>& - ссылку на переданную строку.
Метод получает у строкового выражения его длину, увеличивает размер строки, и материализует строковое выражение за концом строки, без использования промежуточных буферов. До C++23 используется resize, начиная с C++23 - resize_and_overwrite.
ВАЖНО!!! части строкового выражения не должны ссылаться на саму строку, иначе результат неопределён!!!
template<typename K, typename A, StrExprForType< K > E>
| std::basic_string< K, std::char_traits< K >, A > & simstr::str::change |
( |
std::basic_string< K, std::char_traits< K >, A > & | str, |
|
|
size_t | from, |
|
|
size_t | count, |
|
|
const E & | expr ) |
Изменить часть стандартной строки на заданное строковое выражение.
- Параметры шаблона
-
| K | - тип символов. |
| A | - тип аллокатора. |
| E | - тип строкового выражения. |
- Аргументы
-
| str | - строка. |
| from | - начальная позиция замены. |
| count | - количество символов, подлежащих замене. |
| expr | - строковое выражение для замены. |
- Возвращает
- std::basic_string<K, std::char_traits<K>, A>& - ссылку на переданную строку.
Метод получает у строкового выражения его длину, при необходимости увеличивает размер строки, и материализует строковое выражение на нужное место, без использования промежуточных буферов. При увеличении размера строки - до C++23 используется resize, начиная с C++23 - resize_and_overwrite.
ВАЖНО!!! части строкового выражения не должны ссылаться на саму строку, иначе результат неопределён!!!
template<typename K, typename A, StrExprForType< K > E>
| std::basic_string< K, std::char_traits< K >, A > & simstr::str::insert |
( |
std::basic_string< K, std::char_traits< K >, A > & | str, |
|
|
size_t | from, |
|
|
const E & | expr ) |
Вставить строковое выражение в указанную позицию стандартной строки.
- Параметры шаблона
-
| K | - тип символов. |
| A | - тип аллокатора. |
| E | - тип строкового выражения. |
- Аргументы
-
| str | - строка. |
| from | - позиция вставки. |
| expr | - строковое выражение для вставки. |
- Возвращает
- std::basic_string<K, std::char_traits<K>, A>& - ссылку на переданную строку.
Метод получает у строкового выражения его длину, увеличивает размер строки, сдвигает её содержимое и материализует строковое выражение на нужное место, без использования промежуточных буферов. До C++23 используется resize, начиная с C++23 - resize_and_overwrite.
ВАЖНО!!! части строкового выражения не должны ссылаться на саму строку, иначе результат неопределён!!!
template<typename K, typename A, StrExprForType< K > E>
| std::basic_string< K, std::char_traits< K >, A > & simstr::str::prepend |
( |
std::basic_string< K, std::char_traits< K >, A > & | str, |
|
|
const E & | expr ) |
Вставить строковое выражение в начало стандартной строки.
- Параметры шаблона
-
| K | - тип символов. |
| A | - тип аллокатора. |
| E | - тип строкового выражения. |
- Аргументы
-
| str | - строка. |
| expr | - строковое выражение для вставки. |
- Возвращает
- std::basic_string<K, std::char_traits<K>, A>& - ссылку на переданную строку.
Метод получает у строкового выражения его длину, увеличивает размер строки, сдвигает её содержимое и материализует строковое выражение в её начало, без использования промежуточных буферов. До C++23 используется resize, начиная с C++23 - resize_and_overwrite.
ВАЖНО!!! части строкового выражения не должны ссылаться на саму строку, иначе результат неопределён!!!