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

Library namespace. More...

Namespaces

namespace  str
 Small namespace for standard string methods.
 

Classes

class  chunked_string_builder
 For constructing long dynamic strings by concatenating small pieces. More...
 
struct  empty_expr
 An "empty" string expression. More...
 
struct  expr_choice
 Conditional selection string expression. More...
 
struct  expr_choice_one_lit
 Conditional selection string expression. More...
 
struct  expr_choice_two_lit
 Conditional selection string expression. More...
 
struct  expr_if
 Conditional selection string expression. More...
 
struct  expr_pad
 A type of string expression that returns N specified characters. More...
 
struct  expr_replace_symbols
 A type for a string expression that generates a string in which the given characters are replaced by the given strings. More...
 
struct  expr_replaced
 A string expression that generates a string replacing all occurrences of the given substring to another string. More...
 
struct  expr_replaced_e
 A string expression that generates a string replacing all occurrences of the given substring to string expression. More...
 
struct  expr_spaces
 A type of string expression that returns N specified characters. More...
 
struct  expr_stdstr
 A type for using std::string and std::string_view as sources in string expressions. More...
 
struct  expr_to_std_string
 Base class for converting string expressions to standard strings. More...
 
struct  expr_utf
 String expression to convert strings to different UTF types. More...
 
class  from_utf_convertible
 Base class for strings that can be converted from another character type. More...
 
class  hashStrMap
 Container for more efficient searching by string keys. More...
 
class  lstring
 The mutable, owning string class. Contains an internal buffer for text of a given size. More...
 
struct  simple_str
 The simplest immutable non-owning string class. More...
 
struct  simple_str_nt
 A class that claims to refer to a null-terminated string. More...
 
class  SplitterBase
 Class for sequentially obtaining substrings by a given delimiter. More...
 
class  sstring
 Immutable owning string class. More...
 
class  str_algs
 A class with additional constant string algorithms. More...
 
class  str_mutable
 Base class for working with mutable strings. More...
 
struct  str_src
 The simplest class of an immutable non-owning string. More...
 
class  str_src_algs
 A class with basic constant string algorithms. More...
 
struct  str_src_nt
 A class that claims to refer to a null-terminated string. More...
 
class  str_storable
 The base for the objects that own the string. More...
 
struct  strexprjoin
 Template class for concatenating two string expressions into one using operator + More...
 
struct  strexprjoin_c
 Concatenation of a reference to a string expression and the value of the string expression. More...
 

Concepts

concept  storable_str
 A type concept that can store a string.
 
concept  mutable_str
 A type concept that can modify a stored string.
 
concept  immutable_str
 A type concept that cannot modify a stored string.
 
concept  Allocatorable
 Concept of a memory management type.
 
concept  StrType
 Base concept of string object.
 
concept  StrExpr
 Concept of "String Expressions".
 
concept  StrExprForType
 The concept of a string expression compatible with a given character type.
 

Typedefs

template<typename T>
using hashStrMapA = hashStrMap<u8s, T, strhash<u8s>, streql<u8s>>
 Type of hash dictionary for char strings, case sensitive search.
 
template<typename T>
using hashStrMapAIA = hashStrMap<u8s, T, strhashia<u8s>, streqlia<u8s>>
 Type of hash dictionary for char strings, case-insensitive lookup for ASCII characters.
 
template<typename T>
using hashStrMapAIU = hashStrMap<u8s, T, strhashiu<u8s>, streqliu<u8s>>
 Hash dictionary type for char strings, case-insensitive search for Unicode characters up to 0xFFFF.
 
template<typename T>
using hashStrMapW = hashStrMap<wchar_t, T, strhash<wchar_t>, streql<wchar_t>>
 Hash dictionary type for wchar_t strings, case sensitive search.
 
template<typename T>
using hashStrMapWIA = hashStrMap<wchar_t, T, strhashia<wchar_t>, streqlia<wchar_t>>
 Hash dictionary type for wchar_t strings, case-insensitive lookup for ASCII characters.
 
template<typename T>
using hashStrMapWIU = hashStrMap<wchar_t, T, strhashiu<wchar_t>, streqliu<wchar_t>>
 Hash dictionary type for wchar_t strings, case insensitive search for Unicode characters up to 0xFFFF.
 
template<typename T>
using hashStrMapU = hashStrMap<u16s, T, strhash<u16s>, streql<u16s>>
 Hash dictionary type for char16_t strings, case sensitive search.
 
template<typename T>
using hashStrMapUIA = hashStrMap<u16s, T, strhashia<u16s>, streqlia<u16s>>
 Hash dictionary type for char16_t strings, case-insensitive lookup for ASCII characters.
 
template<typename T>
using hashStrMapUIU = hashStrMap<u16s, T, strhashiu<u16s>, streqliu<u16s>>
 Hash dictionary type for char16_t strings, case insensitive search for Unicode characters up to 0xFFFF.
 
template<typename T>
using hashStrMapUU = hashStrMap<u32s, T, strhash<u32s>, streql<u32s>>
 Hash dictionary type for char32_t strings, case sensitive search.
 
template<typename T>
using hashStrMapUUIA = hashStrMap<u32s, T, strhashia<u32s>, streqlia<u32s>>
 Hash dictionary type for char32_t strings, case-insensitive lookup for ASCII characters.
 
template<typename T>
using hashStrMapUUIU = hashStrMap<u32s, T, strhashiu<u32s>, streqliu<u32s>>
 Hash dictionary type for char32_t strings, case insensitive search for Unicode characters up to 0xFFFF.
 

Enumerations

enum  HexFlags : unsigned { Short = 1 , No0x = 2 , Lcase = 4 }
 Flags for the e_hex function. More...
 
enum class  IntConvertResult : char { Success , BadSymbolAtTail , Overflow , NotNumber }
 Enumeration with possible results of converting a string to an integer. More...
 

Functions

template<typename To, typename From>
requires (!std::is_same_v<From, To>)
expr_utf< From, To > e_utf (simple_str< From > from)
 Returns a string expression that converts a string of one character type to another type, via UTF conversion.
 
SS_CONSTEVAL simple_str_nt< u8s > operator""_ss (const u8s *ptr, size_t l)
 Operator literal in simple_str_nt.
 
SS_CONSTEVAL simple_str_nt< ubs > operator""_ss (const ubs *ptr, size_t l)
 Operator literal in simple_str_nt.
 
SS_CONSTEVAL simple_str_nt< uws > operator""_ss (const uws *ptr, size_t l)
 Operator literal in simple_str_nt.
 
SS_CONSTEVAL simple_str_nt< u16s > operator""_ss (const u16s *ptr, size_t l)
 Operator literal in simple_str_nt.
 
SS_CONSTEVAL simple_str_nt< u32s > operator""_ss (const u32s *ptr, size_t l)
 Operator literal in simple_str_nt.
 
consteval HashKey< u8s > operator""_h (const u8s *ptr, size_t l)
 Key literal operator for hashStrMap with a case-sensitive hash calculated at compile time.
 
consteval HashKeyIA< u8s > operator""_ia (const u8s *ptr, size_t l)
 Key literal operator for hashStrMap with a case-insensitive ASCII hash calculated at compile time.
 
HashKeyIU< u8s > operator""_iu (const u8s *ptr, size_t l)
 Key literal operator for hashStrMap with a simple unicode case-insensitive hash calculated at compile time.
 
consteval HashKey< u16s > operator""_h (const u16s *ptr, size_t l)
 Key literal operator for hashStrMap with a case-sensitive hash calculated at compile time.
 
consteval HashKeyIA< u16s > operator""_ia (const u16s *ptr, size_t l)
 Key literal operator for hashStrMap with a case-insensitive ASCII hash calculated at compile time.
 
HashKeyIU< u16s > operator""_iu (const u16s *ptr, size_t l)
 Key literal operator for hashStrMap with a simple unicode case-insensitive hash calculated at compile time.
 
consteval HashKey< u32s > operator""_h (const u32s *ptr, size_t l)
 Key literal operator for hashStrMap with a case-sensitive hash calculated at compile time.
 
consteval HashKeyIA< u32s > operator""_ia (const u32s *ptr, size_t l)
 Key literal operator for hashStrMap with a case-insensitive ASCII hash calculated at compile time.
 
HashKeyIU< u32s > operator""_iu (const u32s *ptr, size_t l)
 Key literal operator for hashStrMap with a simple unicode case-insensitive hash calculated at compile time.
 
consteval HashKey< uws > operator""_h (const uws *ptr, size_t l)
 Key literal operator for hashStrMap with a case-sensitive hash calculated at compile time.
 
consteval HashKeyIA< uws > operator""_ia (const uws *ptr, size_t l)
 Key literal operator for hashStrMap with a case-insensitive ASCII hash calculated at compile time.
 
HashKeyIU< uws > operator""_iu (const uws *ptr, size_t l)
 Key literal operator for hashStrMap with a simple unicode case-insensitive hash calculated at compile time.
 
std::ostream & operator<< (std::ostream &stream, ssa text)
 Stream output operator simple_str.
 
std::wostream & operator<< (std::wostream &stream, ssw text)
 Stream output operator simple_str.
 
std::wostream & operator<< (std::wostream &stream, simple_str< wchar_type > text)
 Stream output operator simple_str.
 
std::ostream & operator<< (std::ostream &stream, const stringa &text)
 Operator for outputting sstring to stream.
 
std::wostream & operator<< (std::wostream &stream, const stringw &text)
 Operator for outputting sstring to stream.
 
std::wostream & operator<< (std::wostream &stream, const sstring< wchar_type > &text)
 Operator for outputting sstring to stream.
 
template<size_t N, bool S, simstr::Allocatorable A>
std::ostream & operator<< (std::ostream &stream, const lstring< u8s, N, S, A > &text)
 Operator to output lstring to stream.
 
template<size_t N, bool S, simstr::Allocatorable A>
std::wostream & operator<< (std::wostream &stream, const lstring< uws, N, S, A > &text)
 Operator to output lstring to stream.
 
template<size_t N, bool S, simstr::Allocatorable A>
std::wostream & operator<< (std::wostream &stream, const lstring< wchar_type, N, S, A > &text)
 Operator to output lstring to stream.
 
template<StrExpr A, StrExprForType< typename A::symb_type > B>
constexpr strexprjoin< A, B > operator+ (const A &a, const B &b)
 An addition operator for two arbitrary string expressions of the same character type.
 
template<typename K, StrExprForType< K > A>
constexpr strexprjoin_c< A, expr_char< K > > operator+ (const A &a, K s)
 Addition operator of a string expression and one character.
 
template<typename K>
constexpr expr_char< K > e_char (K s)
 Generates a string of 1 given character.
 
template<typename T, size_t N = const_lit<T>::Count>
constexpr expr_literal< typename const_lit< T >::symb_type, static_cast< size_t >(N - 1)> e_t (T &&s)
 Converts a string literal to a string expression.
 
template<StrExpr A, typename T, typename P = typename const_lit<T>::symb_type, size_t N = const_lit<T>::Count>
requires is_equal_str_type_v<typename A::symb_type, P>
constexpr expr_literal_join< false, P,(N - 1), A > operator+ (const A &a, T &&s)
 The addition operator for a string expression and a string literal of the same character type.
 
template<StrExpr A, typename T, typename P = typename const_lit<T>::symb_type, size_t N = const_lit<T>::Count>
requires is_equal_str_type_v<typename A::symb_type, P>
constexpr expr_literal_join< true, P,(N - 1), A > operator+ (T &&s, const A &a)
 The addition operator for a string literal of the same character type and string expression.
 
template<size_t N>
constexpr expr_spaces< u8s, N > e_spca ()
 Generates a string of N char spaces.
 
template<size_t N>
constexpr expr_spaces< uws, N > e_spcw ()
 Generates a string of N wchar_t spaces.
 
template<typename K>
constexpr expr_pad< K > e_c (size_t l, K s)
 Generates a string of l characters s of type K.
 
template<typename T, typename K = const_lit<T>::symb_type, size_t M = const_lit<T>::Count>
requires (M > 0)
constexpr expr_repeat_lit< K, M - 1 > e_repeat (T &&s, size_t l)
 Generate a string from l string constants s of type K.
 
template<StrExpr A>
constexpr expr_repeat_expr< A > e_repeat (const A &s, size_t l)
 Generate a string from l string expressions s of type K.
 
template<StrExpr A, StrExprForType< typename A::symb_type > B>
constexpr expr_choice< A, B > e_choice (bool c, const A &a, const B &b)
 Create a conditional string expression expr_choice.
 
template<StrExpr A, typename T, size_t N = const_lit_for<typename A::symb_type, T>::Count>
constexpr expr_choice_one_lit< typename const_lit< T >::symb_type, A, N - 1, true > e_choice (bool c, const A &a, T &&str)
 Overload e_choice when the third argument is a string literal.
 
template<StrExpr A, typename T, size_t N = const_lit_for<typename A::symb_type, T>::Count>
constexpr expr_choice_one_lit< typename const_lit< T >::symb_type, A, N - 1, false > e_choice (bool c, T &&str, const A &a)
 Overload e_choice when the second argument is a string literal.
 
template<typename T, typename L, typename K = typename const_lit<T>::symb_type, typename P = typename const_lit<L>::symb_type, size_t N = const_lit<T>::Count, size_t M = const_lit_for<typename const_lit<T>::symb_type, L>::Count>
requires is_equal_str_type_v<K, P>
constexpr expr_choice_two_lit< K, N -1, P, M - 1 > e_choice (bool c, T &&str_a, L &&str_b)
 Overload e_choice when the second and third arguments are string literals.
 
template<StrExpr A>
constexpr expr_if< A > e_if (bool c, const A &a)
 Creating a conditional string expression expr_if.
 
template<typename T, size_t N = const_lit<T>::Count>
constexpr auto e_if (bool c, T &&str)
 Overload e_if when the second argument is a string literal.
 
template<StdStrSource T, StrExprForType< typename T::value_type > A>
constexpr strexprjoin_c< A, expr_stdstr< typename T::value_type, T >, true > operator+ (const A &a, const T &s)
 The addition operator for string expression and standard strings of compatible type.
 
template<StdStrSource T, StrExprForType< typename T::value_type > A>
constexpr strexprjoin_c< A, expr_stdstr< typename T::value_type, T >, false > operator+ (const T &s, const A &a)
 The addition operator for standard strings and string expressions of compatible type.
 
template<StrExpr A, FromIntNumber T>
constexpr strexprjoin_c< A, expr_num< typename A::symb_type, T > > operator+ (const A &a, T s)
 Concatenation operator for string expression and integer.
 
template<StrExpr A, FromIntNumber T>
constexpr strexprjoin_c< A, expr_num< typename A::symb_type, T >, false > operator+ (T s, const A &a)
 Concatenation operator for integer and string expression.
 
template<typename K, FromIntNumber T>
constexpr expr_num< K, T > e_num (T t)
 Convert an integer to a string expression.
 
template<StrExpr A, typename R>
requires (std::is_same_v<R, double> || std::is_same_v<R, float>)
constexpr strexprjoin_c< A, expr_real< typename A::symb_type > > operator+ (const A &a, R s)
 Concatenation operator for string expression and real number (float, double).
 
template<StrExpr A, typename R>
requires (std::is_same_v<R, double> || std::is_same_v<R, float>)
constexpr strexprjoin_c< A, expr_real< typename A::symb_type >, false > operator+ (R s, const A &a)
 Concatenation operator for float (float, double) and string expression.
 
template<typename K>
requires is_one_of_char_v<K>
constexpr expr_real< K > e_num (double t)
 Convert a double number to a string expression.
 
template<unsigned Flags = 0, FromIntNumber T>
constexpr auto e_hex (T v)
 Allows you to concatenate text and a unsigned number in hexadecimal.
 
template<StrExpr A, typename Val, bool All, bool Ucase, bool Ox>
constexpr strexprjoin_c< A, expr_hex< typename A::symb_type, Val, All, Ucase, Ox >, true > operator+ (const A &a, const expr_hex_src< Val, All, Ucase, Ox > &b)
 Concatenation operator for a string expression and a hexadecimal representation of a number from e_hex().
 
template<StrExpr A, typename Val, bool All, bool Ucase, bool Ox>
constexpr strexprjoin_c< A, expr_hex< typename A::symb_type, Val, All, Ucase, Ox >, false > operator+ (const expr_hex_src< Val, All, Ucase, Ox > &b, const A &a)
 Concatenation operator for the hexadecimal representation of a number from e_hex() and a string expression.
 
template<StrExpr A>
constexpr strexprjoin_c< A, expr_hex< typename A::symb_type, uintptr_t, true, true, true >, true > operator+ (const A &a, const void *b)
 Concatenation operator for a string expression and a pointer, representing it as 0xDEADBEEF.
 
template<StrExpr A>
constexpr strexprjoin_c< A, expr_hex< typename A::symb_type, uintptr_t, true, true, true >, false > operator+ (const void *b, const A &a)
 Concatenation operator for a pointer and a string expression, representing it as 0xDEADBEEF.
 
template<StrExpr A, typename K = typename A::symb_type>
expr_fill< K, A, true > e_fill_left (const A &a, size_t width, K symbol=K(' '))
 Creates an expression that expands the specified string expression to the specified length given character to the left.
 
template<StrExpr A, typename K = typename A::symb_type>
expr_fill< K, A, false > e_fill_right (const A &a, size_t width, K symbol=K(' '))
 Creates an expression that expands the specified string expression to the specified length given character to the right.
 
template<bool tail = false, bool skip_empty = false, typename L, typename K = typename const_lit<L>::symb_type, size_t I = const_lit<L>::Count, typename T>
constexpr auto e_join (const T &s, L &&d)
 Get a string expression concatenating the strings in the container into a single string with the given delimiter.limiter.limiter.
 
SS_CONSTEVAL str_src_nt< u8s > operator""_ss (const u8s *ptr, size_t l)
 Operator literal in str_src.
 
SS_CONSTEVAL str_src_nt< ubs > operator""_ss (const ubs *ptr, size_t l)
 Operator literal in str_src.
 
SS_CONSTEVAL str_src_nt< uws > operator""_ss (const uws *ptr, size_t l)
 Operator literal in str_src.
 
SS_CONSTEVAL str_src_nt< u16s > operator""_ss (const u16s *ptr, size_t l)
 Operator literal in str_src.
 
SS_CONSTEVAL str_src_nt< u32s > operator""_ss (const u32s *ptr, size_t l)
 Operator literal in str_src.
 
template<StrSource A, typename K = src_str_t<A>, typename T, size_t N = const_lit_for<K, T>::Count, typename X, size_t L = const_lit_for<K, X>::Count>
requires (N > 1)
constexpr auto e_repl (A &&w, T &&p, X &&r)
 Get a string expression that generates a string with all occurrences of a given substring replaced.
 
template<StrSource A, typename K = src_str_t<A>, typename T, typename X>
requires (std::is_constructible_v<str_src<K>, T> && std::is_constructible_v<str_src<K>, X> && (!is_const_lit_v<T> || !is_const_lit_v<X>))
constexpr auto e_repl (A &&w, T &&p, X &&r)
 Get a string expression that generates a string with all occurrences of a given substring replaced.
 
template<StrSource A, typename K = src_str_t<A>, typename T, StrExprForType< K > E>
requires std::is_constructible_v<str_src<K>, T>
constexpr auto e_repl (A &&w, T &&p, const E &expr)
 Get a string expression that generates a string with all occurrences of a given substring replaced.
 
template<bool UseVector = false, StrSource A, typename K = src_str_t<A>, typename ... Repl>
requires (sizeof...(Repl) % 2 == 0)
auto e_repl_const_symbols (A &&src, Repl &&... other)
 Returns a string expression that generates a string containing the given characters replaced with given substrings.
 

Variables

template<typename K1, typename K2>
constexpr bool is_equal_str_type_v = is_one_of_char_v<K1> && is_one_of_char_v<K2> && sizeof(K1) == sizeof(K2)
 Checks whether two types are compatible string types.
 
constexpr empty_expr< u8s > eea {}
 Empty string expression of type char.
 
constexpr empty_expr< u8s > eeb {}
 Empty string expression of type char8_t.
 
constexpr empty_expr< uws > eew {}
 Empty string expression of type wchar_t.
 
constexpr empty_expr< u16s > eeu {}
 Empty string expression of type char16_t.
 
constexpr empty_expr< u32s > eeuu {}
 Empty string expression of type char32_t.
 

Detailed Description

Library namespace.

Enumeration Type Documentation

◆ IntConvertResult

enum class simstr::IntConvertResult : char
strong

Enumeration with possible results of converting a string to an integer.

Enumerator
Success 

Успешно

BadSymbolAtTail 

Число закончилось не числовым символом

Overflow 

Переполнение, число не помещается в заданный тип

NotNumber 

Вообще не число

Function Documentation

◆ e_utf()

template<typename To, typename From>
requires (!std::is_same_v<From, To>)
expr_utf< From, To > simstr::e_utf ( simple_str< From > from)

Returns a string expression that converts a string of one character type to another type, via UTF conversion.

Template Parameters
To- the type of string to convert to.
From- the type of string to convert from. Derived from the argument.
Parameters
from- the string from which to convert.

◆ operator""_h() [1/4]

HashKey< u16s > simstr::literals::operator""_h ( const u16s * ptr,
size_t l )
consteval

Key literal operator for hashStrMap with a case-sensitive hash calculated at compile time.

Parameters
ptr- pointer to a string.
l- string length.
Returns
StoreType.

◆ operator""_h() [2/4]

HashKey< u32s > simstr::literals::operator""_h ( const u32s * ptr,
size_t l )
consteval

Key literal operator for hashStrMap with a case-sensitive hash calculated at compile time.

Parameters
ptr- pointer to a string.
l- string length.
Returns
StoreType.

◆ operator""_h() [3/4]

HashKey< u8s > simstr::literals::operator""_h ( const u8s * ptr,
size_t l )
consteval

Key literal operator for hashStrMap with a case-sensitive hash calculated at compile time.

Parameters
ptr- pointer to a string.
l- string length.
Returns
StoreType.

◆ operator""_h() [4/4]

HashKey< uws > simstr::literals::operator""_h ( const uws * ptr,
size_t l )
consteval

Key literal operator for hashStrMap with a case-sensitive hash calculated at compile time.

Parameters
ptr- pointer to a string.
l- string length.
Returns
StoreType.

◆ operator""_ia() [1/4]

HashKeyIA< u16s > simstr::literals::operator""_ia ( const u16s * ptr,
size_t l )
consteval

Key literal operator for hashStrMap with a case-insensitive ASCII hash calculated at compile time.

Parameters
ptr- pointer to a string.
l- string length.
Returns
StoreType.

◆ operator""_ia() [2/4]

HashKeyIA< u32s > simstr::literals::operator""_ia ( const u32s * ptr,
size_t l )
consteval

Key literal operator for hashStrMap with a case-insensitive ASCII hash calculated at compile time.

Parameters
ptr- pointer to a string.
l- string length.
Returns
StoreType.

◆ operator""_ia() [3/4]

HashKeyIA< u8s > simstr::literals::operator""_ia ( const u8s * ptr,
size_t l )
consteval

Key literal operator for hashStrMap with a case-insensitive ASCII hash calculated at compile time.

Parameters
ptr- pointer to a string.
l- string length.
Returns
StoreType.

◆ operator""_ia() [4/4]

HashKeyIA< uws > simstr::literals::operator""_ia ( const uws * ptr,
size_t l )
consteval

Key literal operator for hashStrMap with a case-insensitive ASCII hash calculated at compile time.

Parameters
ptr- pointer to a string.
l- string length.
Returns
StoreType.

◆ operator""_iu() [1/4]

HashKeyIU< u16s > simstr::literals::operator""_iu ( const u16s * ptr,
size_t l )
inline

Key literal operator for hashStrMap with a simple unicode case-insensitive hash calculated at compile time.

Parameters
ptr- pointer to a string.
l- string length.
Returns
StoreType.

◆ operator""_iu() [2/4]

HashKeyIU< u32s > simstr::literals::operator""_iu ( const u32s * ptr,
size_t l )
inline

Key literal operator for hashStrMap with a simple unicode case-insensitive hash calculated at compile time.

Parameters
ptr- pointer to a string.
l- string length.
Returns
StoreType.

◆ operator""_iu() [3/4]

HashKeyIU< u8s > simstr::literals::operator""_iu ( const u8s * ptr,
size_t l )
inline

Key literal operator for hashStrMap with a simple unicode case-insensitive hash calculated at compile time.

Parameters
ptr- pointer to a string.
l- string length.
Returns
StoreType.

◆ operator""_iu() [4/4]

HashKeyIU< uws > simstr::literals::operator""_iu ( const uws * ptr,
size_t l )
inline

Key literal operator for hashStrMap with a simple unicode case-insensitive hash calculated at compile time.

Parameters
ptr- pointer to a string.
l- string length.
Returns
StoreType.

◆ operator""_ss() [1/10]

SS_CONSTEVAL simple_str_nt< u16s > simstr::literals::operator""_ss ( const u16s * ptr,
size_t l )

Operator literal in simple_str_nt.

Parameters
ptr- pointer to a string.
l- string length.
Returns
simple_str_nt.

◆ operator""_ss() [2/10]

SS_CONSTEVAL str_src_nt< u16s > simstr::literals::operator""_ss ( const u16s * ptr,
size_t l )

Operator literal in str_src.

Parameters
ptr- pointer to a string.
l- string length.
Returns
str_src.

◆ operator""_ss() [3/10]

SS_CONSTEVAL simple_str_nt< u32s > simstr::literals::operator""_ss ( const u32s * ptr,
size_t l )

Operator literal in simple_str_nt.

Parameters
ptr- pointer to a string.
l- string length.
Returns
simple_str_nt.

◆ operator""_ss() [4/10]

SS_CONSTEVAL str_src_nt< u32s > simstr::literals::operator""_ss ( const u32s * ptr,
size_t l )

Operator literal in str_src.

Parameters
ptr- pointer to a string.
l- string length.
Returns
str_src.

◆ operator""_ss() [5/10]

SS_CONSTEVAL simple_str_nt< u8s > simstr::literals::operator""_ss ( const u8s * ptr,
size_t l )

Operator literal in simple_str_nt.

Parameters
ptr- pointer to a string.
l- string length.
Returns
simple_str_nt.

◆ operator""_ss() [6/10]

SS_CONSTEVAL str_src_nt< u8s > simstr::literals::operator""_ss ( const u8s * ptr,
size_t l )

Operator literal in str_src.

Parameters
ptr- pointer to a string.
l- string length.
Returns
str_src.

◆ operator""_ss() [7/10]

SS_CONSTEVAL simple_str_nt< ubs > simstr::literals::operator""_ss ( const ubs * ptr,
size_t l )

Operator literal in simple_str_nt.

Parameters
ptr- pointer to a string.
l- string length.
Returns
simple_str_nt.

◆ operator""_ss() [8/10]

SS_CONSTEVAL str_src_nt< ubs > simstr::literals::operator""_ss ( const ubs * ptr,
size_t l )

Operator literal in str_src.

Parameters
ptr- pointer to a string.
l- string length.
Returns
str_src.

◆ operator""_ss() [9/10]

SS_CONSTEVAL simple_str_nt< uws > simstr::literals::operator""_ss ( const uws * ptr,
size_t l )

Operator literal in simple_str_nt.

Parameters
ptr- pointer to a string.
l- string length.
Returns
simple_str_nt.

◆ operator""_ss() [10/10]

SS_CONSTEVAL str_src_nt< uws > simstr::literals::operator""_ss ( const uws * ptr,
size_t l )

Operator literal in str_src.

Parameters
ptr- pointer to a string.
l- string length.
Returns
str_src.

◆ operator<<() [1/9]

template<size_t N, bool S, simstr::Allocatorable A>
std::ostream & simstr::operator<< ( std::ostream & stream,
const lstring< u8s, N, S, A > & text )
inline

Operator to output lstring to stream.

Parameters
stream- output stream.
text- text.
Returns
std::ostream&.

◆ operator<<() [2/9]

std::ostream & simstr::operator<< ( std::ostream & stream,
const stringa & text )
inline

Operator for outputting sstring to stream.

Parameters
stream- output stream.
text- text.
Returns
std::ostream&.

◆ operator<<() [3/9]

std::ostream & simstr::operator<< ( std::ostream & stream,
ssa text )
inline

Stream output operator simple_str.

Parameters
stream- output stream.
text- text.
Returns
std::ostream&.

◆ operator<<() [4/9]

template<size_t N, bool S, simstr::Allocatorable A>
std::wostream & simstr::operator<< ( std::wostream & stream,
const lstring< uws, N, S, A > & text )
inline

Operator to output lstring to stream.

Parameters
stream- output stream.
text- text.
Returns
std::ostream&.

◆ operator<<() [5/9]

template<size_t N, bool S, simstr::Allocatorable A>
std::wostream & simstr::operator<< ( std::wostream & stream,
const lstring< wchar_type, N, S, A > & text )
inline

Operator to output lstring to stream.

Parameters
stream- output stream.
text- text.
Returns
std::ostream&.

◆ operator<<() [6/9]

std::wostream & simstr::operator<< ( std::wostream & stream,
const sstring< wchar_type > & text )
inline

Operator for outputting sstring to stream.

Parameters
stream- output stream.
text- text.
Returns
std::ostream&.

◆ operator<<() [7/9]

std::wostream & simstr::operator<< ( std::wostream & stream,
const stringw & text )
inline

Operator for outputting sstring to stream.

Parameters
stream- output stream.
text- text.
Returns
std::ostream&.

◆ operator<<() [8/9]

std::wostream & simstr::operator<< ( std::wostream & stream,
simple_str< wchar_type > text )
inline

Stream output operator simple_str.

Parameters
stream- output stream.
text- text.
Returns
std::ostream&.

◆ operator<<() [9/9]

std::wostream & simstr::operator<< ( std::wostream & stream,
ssw text )
inline

Stream output operator simple_str.

Parameters
stream- output stream.
text- text.
Returns
std::ostream&.