simstr 1.7.3
Yet another strings library
 
Загрузка...
Поиск...
Не найдено
Пространство имен std

Некоторые методы для работы с стандартными строками. Подробнее...

Классы

struct  formatter< simstr::lstring< char8_t, N, S, A >, char >
 Форматтер для использования в std::format значений типа lstring<char8_t>. Подробнее...
 
struct  formatter< simstr::lstring< K, N, S, A >, K >
 Форматтер для использования в std::format значений типа lstring. Подробнее...
 
struct  formatter< simstr::lstring< simstr::wchar_type, N, S, A >, wchar_t >
 Форматтер для использования в std::format значений типа lstring<char16_t/char32_t>. Подробнее...
 
struct  formatter< simstr::simple_str< char8_t >, char >
 Форматтер для использования в std::format значений типа simple_str<char8_t>. Подробнее...
 
struct  formatter< simstr::simple_str< K >, K >
 Форматтер для использования в std::format значений типа simple_str. Подробнее...
 
struct  formatter< simstr::simple_str< simstr::wchar_type >, wchar_t >
 Форматтер для использования в std::format значений типа simple_str<char16_t/char32_t>. Подробнее...
 
struct  formatter< simstr::simple_str_nt< char8_t >, char >
 Форматтер для использования в std::format значений типа simple_str_nt<char8_t>. Подробнее...
 
struct  formatter< simstr::simple_str_nt< K >, K >
 Форматтер для использования в std::format значений типа simple_str_nt. Подробнее...
 
struct  formatter< simstr::simple_str_nt< simstr::wchar_type >, wchar_t >
 Форматтер для использования в std::format значений типа simple_str_nt<char16_t/char32_t>. Подробнее...
 
struct  formatter< simstr::sstring< char8_t >, char >
 Форматтер для использования в std::format значений типа sstring<char8_t>. Подробнее...
 
struct  formatter< simstr::sstring< K >, K >
 Форматтер для использования в std::format значений типа sstring. Подробнее...
 
struct  formatter< simstr::sstring< simstr::wchar_type >, wchar_t >
 Форматтер для использования в std::format значений типа sstring<char16_t/char32_t>. Подробнее...
 

Функции

template<simstr::StdStrSource T>
simstr::expr_stdstr< typename T::value_type, T > operator+ (const T &str)
 Унарный оператор+ для преобразования стандартных строк в строковые выражения.
 
template<typename K, typename A, simstr::StrExprForType< K > E>
std::basic_string< K, std::char_traits< K >, A > & operator|= (std::basic_string< K, std::char_traits< K >, A > &str, const E &expr)
 Оператор для добавления строкового выражения к стандартной строке.
 
template<typename K, typename A, simstr::StrExprForType< K > E>
std::basic_string< K, std::char_traits< K >, A > & operator^= (std::basic_string< K, std::char_traits< K >, A > &str, const E &expr)
 Оператор для вставки строкового выражения в начало стандартной строки.
 

Подробное описание

Некоторые методы для работы с стандартными строками.

Функции

◆ operator^=()

template<typename K, typename A, simstr::StrExprForType< K > E>
std::basic_string< K, std::char_traits< K >, A > & std::operator^= ( 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.

ВАЖНО!!! части строкового выражения не должны ссылаться на саму строку, иначе результат неопределён!!!

◆ operator|=()

template<typename K, typename A, simstr::StrExprForType< K > E>
std::basic_string< K, std::char_traits< K >, A > & std::operator|= ( 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.

ВАЖНО!!! части строкового выражения не должны ссылаться на саму строку, иначе результат неопределён!!!