Небольшое пространство для методов работы со стандартными строками. Подробнее...
Функции | |
| 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> | |
| std::basic_string< K, std::char_traits< K >, A > & | overwrite (std::basic_string< K, std::char_traits< K >, A > &str, 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> | |
| std::basic_string< K, std::char_traits< K >, A > & | make_ascii_upper (std::basic_string< K, std::char_traits< K >, A > &str, size_t from=0, size_t to=-1) |
| Изменить строчные ASCII символы строки (a-z) на прописные. | |
| template<typename K, typename A> | |
| std::basic_string< K, std::char_traits< K >, A > & | make_ascii_lower (std::basic_string< K, std::char_traits< K >, A > &str, size_t from=0, size_t to=-1) |
| Изменить прописные ASCII символы строки (A-Z) на строчные. | |
Небольшое пространство для методов работы со стандартными строками.
| 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 | - строковое выражение для вставки. |
Метод получает у строкового выражения его длину, увеличивает размер строки, и материализует строковое выражение за концом строки, без использования промежуточных буферов. До C++23 используется resize, начиная с C++23 - resize_and_overwrite.
ВАЖНО!!! части строкового выражения не должны ссылаться на саму строку, иначе результат неопределён!!!
| 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 | - строковое выражение для замены. |
Метод получает у строкового выражения его длину, при необходимости увеличивает размер строки, и материализует строковое выражение на нужное место, без использования промежуточных буферов. При увеличении размера строки - до C++23 используется resize, начиная с C++23 - resize_and_overwrite.
ВАЖНО!!! части строкового выражения не должны ссылаться на саму строку, иначе результат неопределён!!!
| 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 | - строковое выражение для вставки. |
Метод получает у строкового выражения его длину, увеличивает размер строки, сдвигает её содержимое и материализует строковое выражение на нужное место, без использования промежуточных буферов. До C++23 используется resize, начиная с C++23 - resize_and_overwrite.
ВАЖНО!!! части строкового выражения не должны ссылаться на саму строку, иначе результат неопределён!!!
| std::basic_string< K, std::char_traits< K >, A > & simstr::str::make_ascii_lower | ( | std::basic_string< K, std::char_traits< K >, A > & | str, |
| size_t | from = 0, | ||
| size_t | to = -1 ) |
Изменить прописные ASCII символы строки (A-Z) на строчные.
| str | - стандартная строка |
| from | - позиция начала замены, по умолчанию 0. |
| to | - по какую позицию (не включительно) заменять (по умолчанию до конца строки). |
| std::basic_string< K, std::char_traits< K >, A > & simstr::str::make_ascii_upper | ( | std::basic_string< K, std::char_traits< K >, A > & | str, |
| size_t | from = 0, | ||
| size_t | to = -1 ) |
Изменить строчные ASCII символы строки (a-z) на прописные.
| str | - стандартная строка |
| from | - позиция начала замены, по умолчанию 0. |
| to | - по какую позицию (не включительно) заменять (по умолчанию до конца строки). |
| std::basic_string< K, std::char_traits< K >, A > & simstr::str::overwrite | ( | 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 > & simstr::str::prepend | ( | std::basic_string< K, std::char_traits< K >, A > & | str, |
| const E & | expr ) |
Вставить строковое выражение в начало стандартной строки.
| K | - тип символов. |
| A | - тип аллокатора. |
| E | - тип строкового выражения. |
| str | - строка. |
| expr | - строковое выражение для вставки. |
Метод получает у строкового выражения его длину, увеличивает размер строки, сдвигает её содержимое и материализует строковое выражение в её начало, без использования промежуточных буферов. До C++23 используется resize, начиная с C++23 - resize_and_overwrite.
ВАЖНО!!! части строкового выражения не должны ссылаться на саму строку, иначе результат неопределён!!!
| std::basic_string< K, std::char_traits< K >, A > & simstr::str::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 ) |
Функция поиска подстрок в стандартной строке и замены найденных вхождений на другую подстроку.
| K | - тип символов строки. |
| A | - тип аллокатора строки. |
| str | - строка, в которой заменяем вхождения подстрок. |
| pattern | - искомая подстрока (любой тип, конвертирующийся в simple_str). |
| repl | - строка для замены (любой тип, конвертирующийся в simple_str). |
| offset | - начальное смещение для поиска. |
| max_count | - максимальное количество замен. |
| std::basic_string< K, std::char_traits< K >, A > & simstr::str::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 ) |
Функция поиска подстрок в стандартной строке и замены найденных вхождений на значение строкового выражения.
| K | - тип символов строки. |
| A | - тип аллокатора строки. |
| E | - тип строкового выражения. |
| T | - тип подстроки поиска. |
| str | - строка, в которой заменяем вхождения подстрок. |
| pattern | - искомая подстрока (любой тип, конвертирующийся в simple_str). |
| repl | - строковое выражение для замены. |
| offset | - начальное смещение для поиска. |
| max_count | - максимальное количество замен. |
Части строкового выражения не должны ссылаться на саму модифицируемую строку. Если искомая подстрока не найдена, то строковое выражение даже не вычисляется. Затем при осуществлении замены строковое выражение вычисляется только один раз в место первой замены, а в следующие места замен просто копируется символы из первого места. Это позволяет экономить память и время, если вам надо сделать замену на какую-либо "сборную" строку.