Some methods for working with standard strings. More...
Classes | |
| struct | formatter< simstr::lstring< char8_t, N, S, A >, char > |
| Formatter to use in std::format for values of type lstring<char8_t>. More... | |
| struct | formatter< simstr::lstring< K, N, S, A >, K > |
| Formatter to use in std::format for values of type lstring. More... | |
| struct | formatter< simstr::lstring< simstr::wchar_type, N, S, A >, wchar_t > |
| Formatter to use in std::format for values of type lstring<char16_t/char32_t>. More... | |
| struct | formatter< simstr::simple_str< char8_t >, char > |
| Formatter to use in std::format for values of type simple_str<char8_t>. More... | |
| struct | formatter< simstr::simple_str< K >, K > |
| Formatter to use in std::format for values of type simple_str. More... | |
| struct | formatter< simstr::simple_str< simstr::wchar_type >, wchar_t > |
| Formatter to use in std::format for values of type simple_str<char16_t/char32_t>. More... | |
| struct | formatter< simstr::simple_str_nt< char8_t >, char > |
| Formatter to use in std::format for values of type simple_str_nt<char8_t>. More... | |
| struct | formatter< simstr::simple_str_nt< K >, K > |
| Formatter to use in std::format for values of type simple_str_nt. More... | |
| struct | formatter< simstr::simple_str_nt< simstr::wchar_type >, wchar_t > |
| Formatter to use in std::format for values of type simple_str_nt<char16_t/char32_t>. More... | |
| struct | formatter< simstr::sstring< char8_t >, char > |
| Formatter to use in std::format for values of type string<char8_t>. More... | |
| struct | formatter< simstr::sstring< K >, K > |
| Formatter to use in std::format for values of type string. More... | |
| struct | formatter< simstr::sstring< simstr::wchar_type >, wchar_t > |
| Formatter to use in std::format for values of type string<char16_t/char32_t>. More... | |
Functions | |
| template<simstr::StdStrSource T> | |
| simstr::expr_stdstr< typename T::value_type, T > | operator+ (const T &str) |
| Unary operator + for converting standard strings to string expressions. | |
| 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) |
| An operator for appending a string expression to a standard string. | |
| 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) |
| An operator for inserting a string expression at the beginning of a standard string. | |
Some methods for working with standard strings.
| std::basic_string< K, std::char_traits< K >, A > & std::operator^= | ( | std::basic_string< K, std::char_traits< K >, A > & | str, |
| const E & | expr ) |
An operator for inserting a string expression at the beginning of a standard string.
| K | - character type. |
| A | - allocator type. |
| E | - string expression type. |
| str | - string. |
| expr | - string expression to insert. |
The method gets the length of the string expression, increases the size of the string, shifts its contents and materializes the string expression at the beginning of the string, without using intermediate buffers. Before C++23, resize was used; since C++23, resize_and_overwrite was used.
IMPORTANT!!! Parts of a string expression must not reference the string itself, otherwise the result is undefined!!!
| std::basic_string< K, std::char_traits< K >, A > & std::operator|= | ( | std::basic_string< K, std::char_traits< K >, A > & | str, |
| const E & | expr ) |
An operator for appending a string expression to a standard string.
| K | - character type. |
| A | - allocator type. |
| E | - string expression type. |
| str | - string. |
| expr | - string expression to insert. |
The method gets the length of the string expression, increases the size of the string, and materializes the string expression beyond the end of the string, without using intermediate buffers. Before C++23, resize was used; since C++23, resize_and_overwrite was used.
IMPORTANT!!! Parts of a string expression must not reference the string itself, otherwise the result is undefined!!!