simstr 1.7.3
Yet another strings library
 
Loading...
Searching...
No Matches
std Namespace Reference

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.
 

Detailed Description

Some methods for working with standard strings.

Function Documentation

◆ 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 )

An operator for inserting a string expression at the beginning of a standard string.

Template Parameters
K- character type.
A- allocator type.
E- string expression type.
Parameters
str- string.
expr- string expression to insert.
Returns
std::basic_string<K, std::char_traits<K>, A>& - reference to the passed string.

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!!!

◆ 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 )

An operator for appending a string expression to a standard string.

Template Parameters
K- character type.
A- allocator type.
E- string expression type.
Parameters
str- string.
expr- string expression to insert.
Returns
std::basic_string<K, std::char_traits<K>, A>& - reference to the passed string.

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!!!