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

Пространство имён для объектов библиотеки Подробнее...

Пространства имен

namespace  str
 Небольшое пространство для методов работы со стандартными строками.
 

Классы

class  chunked_string_builder
 Для построения длинных динамических строк конкатенацией мелких кусочков. Подробнее...
 
struct  convert_to_strexpr< K, const T * >
 Специализация шаблона для преобразования указателей в строковое выражение, позволяет использовать их в операциях конкатенации со строковыми выражениями. Подробнее...
 
struct  convert_to_strexpr< K, expr_hex_src< Val, All, Ucase, Ox > >
 Специализация шаблона для преобразования e_hex в строковое выражение, позволяет использовать их в операциях конкатенации со строковыми выражениями. Подробнее...
 
struct  convert_to_strexpr< K, T >
 Специализация шаблона для преобразования целых чисел в строковое выражение, позволяет использовать их в операциях конкатенации со строковыми выражениями. Подробнее...
 
struct  empty_expr
 "Пустое" строковое выражение. Подробнее...
 
struct  expr_choice
 Строковое выражение условного выбора. Подробнее...
 
struct  expr_choice_one_lit
 Строковое выражение условного выбора. Подробнее...
 
struct  expr_choice_two_lit
 Строковое выражение условного выбора. Подробнее...
 
struct  expr_concat
 Строковое выражение для объединения более чем одного строкового выражения, с указанием разделителя. Создаётся при вызове функции e_concat. Подробнее...
 
struct  expr_if
 Строковое выражение условного выбора. Подробнее...
 
struct  expr_pad
 Тип строкового выражения, возвращающего N заданных символов. Подробнее...
 
struct  expr_replace_symbols
 Тип для строкового выражения, генерирующее строку, в которой заданные символы заменяются на заданные строки. Подробнее...
 
struct  expr_replaced
 Строковое выражение, генерирующее строку с заменой всех вхождений заданной подстроки на другую строку. Подробнее...
 
struct  expr_replaced_e
 Строковое выражение, генерирующее строку с заменой всех вхождений заданной подстроки на строковое выражение. Подробнее...
 
struct  expr_spaces
 Тип строкового выражения, возвращающего N заданных символов. Подробнее...
 
struct  expr_stdstr
 Тип для использования std::basic_string и std::basic_string_view как источников в строковых выражениях. Подробнее...
 
struct  expr_to_std_string
 Базовый класс для преобразования строковых выражений в стандартные строки Подробнее...
 
struct  expr_utf
 Строковое выражение для конвертации строк в разные виды UTF. Подробнее...
 
class  from_utf_convertible
 Базовый класс для строк, могущих конвертироваться из другого типа символов. Подробнее...
 
class  hashStrMap
 Контейнер для более эффективного поиска по строковым ключам. Подробнее...
 
class  lstring
 Класс мутабельной, владеющей строки. Содержит внутренний буфер для строк заданного размера. Подробнее...
 
struct  simple_str
 Простейший класс иммутабельной не владеющей строки. Подробнее...
 
struct  simple_str_nt
 Класс, заявляющий, что ссылается на нуль-терминированную строку. Подробнее...
 
class  SplitterBase
 Класс для последовательного получения подстрок по заданному разделителю. Подробнее...
 
class  sstring
 Класс иммутабельной владеющей строки. Подробнее...
 
class  str_algs
 Класс с дополнительными константными строковыми алгоритмами. Подробнее...
 
class  str_mutable
 Базовый класс работы с изменяемыми строками Подробнее...
 
struct  str_src
 Простейший класс иммутабельной не владеющей строки. Подробнее...
 
class  str_src_algs
 Класс с базовыми константными строковыми алгоритмами. Подробнее...
 
struct  str_src_nt
 Класс, заявляющий, что ссылается на нуль-терминированную строку. Подробнее...
 
class  str_storable
 База для объектов, владеющих строкой. Подробнее...
 
struct  strexprjoin
 Шаблонный класс для конкатенации двух строковых выражений в одно с помощью operator + Подробнее...
 
struct  strexprjoin_c
 Конкатенация ссылки на строковое выражение и значения строкового выражения. Подробнее...
 

Концепты

concept  storable_str
 Концепт типа, который может сохранить строку.
 
concept  mutable_str
 Концепт типа, который может модифицировать хранимую строку.
 
concept  immutable_str
 Концепт типа, который не может модифицировать хранимую строку.
 
concept  Allocatorable
 Концепт типа, управляющего памятью
 
concept  is_equal_str_type_v
 Проверка, являются ли два типа совместимыми строковыми типами.
 
concept  StrType
 Базовая концепция строкового объекта.
 
concept  StrExpr
 Концепт "Строковых выражений".
 
concept  StrExprForType
 Концепт строкового выражения, совместимого с заданным типом символов.
 

Определения типов

template<typename T>
using hashStrMapA = hashStrMap<u8s, T, strhash<u8s>, streql<u8s>>
 Тип хеш-словаря для char строк, регистрозависимый поиск.
 
template<typename T>
using hashStrMapAIA = hashStrMap<u8s, T, strhashia<u8s>, streqlia<u8s>>
 Тип хеш-словаря для char строк, регистронезависимый поиск для ASCII символов.
 
template<typename T>
using hashStrMapAIU = hashStrMap<u8s, T, strhashiu<u8s>, streqliu<u8s>>
 Тип хеш-словаря для char строк, регистронезависимый поиск для Unicode символов до 0xFFFF.
 
template<typename T>
using hashStrMapW = hashStrMap<wchar_t, T, strhash<wchar_t>, streql<wchar_t>>
 Тип хеш-словаря для wchar_t строк, регистрозависимый поиск.
 
template<typename T>
using hashStrMapWIA = hashStrMap<wchar_t, T, strhashia<wchar_t>, streqlia<wchar_t>>
 Тип хеш-словаря для wchar_t строк, регистронезависимый поиск для ASCII символов.
 
template<typename T>
using hashStrMapWIU = hashStrMap<wchar_t, T, strhashiu<wchar_t>, streqliu<wchar_t>>
 Тип хеш-словаря для wchar_t строк, регистронезависимый поиск для Unicode символов до 0xFFFF.
 
template<typename T>
using hashStrMapU = hashStrMap<u16s, T, strhash<u16s>, streql<u16s>>
 Тип хеш-словаря для char16_t строк, регистрозависимый поиск.
 
template<typename T>
using hashStrMapUIA = hashStrMap<u16s, T, strhashia<u16s>, streqlia<u16s>>
 Тип хеш-словаря для char16_t строк, регистронезависимый поиск для ASCII символов.
 
template<typename T>
using hashStrMapUIU = hashStrMap<u16s, T, strhashiu<u16s>, streqliu<u16s>>
 Тип хеш-словаря для char16_t строк, регистронезависимый поиск для Unicode символов до 0xFFFF.
 
template<typename T>
using hashStrMapUU = hashStrMap<u32s, T, strhash<u32s>, streql<u32s>>
 Тип хеш-словаря для char32_t строк, регистрозависимый поиск.
 
template<typename T>
using hashStrMapUUIA = hashStrMap<u32s, T, strhashia<u32s>, streqlia<u32s>>
 Тип хеш-словаря для char32_t строк, регистронезависимый поиск для ASCII символов.
 
template<typename T>
using hashStrMapUUIU = hashStrMap<u32s, T, strhashiu<u32s>, streqliu<u32s>>
 Тип хеш-словаря для char32_t строк, регистронезависимый поиск для Unicode символов до 0xFFFF.
 

Перечисления

enum  HexFlags : unsigned { Short = 1 , No0x = 2 , Lcase = 4 }
 Флаги для функции e_hex. Подробнее...
 
enum class  IntConvertResult : char { Success , BadSymbolAtTail , Overflow , NotNumber }
 Перечисление с возможными результатами преобразования строки в целое число Подробнее...
 

Функции

template<typename To, typename From>
requires (!std::is_same_v<From, To>)
expr_utf< From, To > e_utf (simple_str< From > from)
 Возвращает строковое выражение, преобразующую строку из одного типа символов в другой тип, через UTF-конвертирование.
 
SS_CONSTEVAL simple_str_nt< u8s > operator""_ss (const u8s *ptr, size_t l)
 Оператор литерал в simple_str_nt.
 
SS_CONSTEVAL simple_str_nt< ubs > operator""_ss (const ubs *ptr, size_t l)
 Оператор литерал в simple_str_nt.
 
SS_CONSTEVAL simple_str_nt< uws > operator""_ss (const uws *ptr, size_t l)
 Оператор литерал в simple_str_nt.
 
SS_CONSTEVAL simple_str_nt< u16s > operator""_ss (const u16s *ptr, size_t l)
 Оператор литерал в simple_str_nt.
 
SS_CONSTEVAL simple_str_nt< u32s > operator""_ss (const u32s *ptr, size_t l)
 Оператор литерал в simple_str_nt.
 
consteval HashKey< u8s > operator""_h (const u8s *ptr, size_t l)
 Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем с учётом регистра.
 
consteval HashKeyIA< u8s > operator""_ia (const u8s *ptr, size_t l)
 Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра ASCII.
 
HashKeyIU< u8s > operator""_iu (const u8s *ptr, size_t l)
 Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра simple unicode.
 
consteval HashKey< u16s > operator""_h (const u16s *ptr, size_t l)
 Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем с учётом регистра.
 
consteval HashKeyIA< u16s > operator""_ia (const u16s *ptr, size_t l)
 Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра ASCII.
 
HashKeyIU< u16s > operator""_iu (const u16s *ptr, size_t l)
 Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра simple unicode.
 
consteval HashKey< u32s > operator""_h (const u32s *ptr, size_t l)
 Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем с учётом регистра.
 
consteval HashKeyIA< u32s > operator""_ia (const u32s *ptr, size_t l)
 Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра ASCII.
 
HashKeyIU< u32s > operator""_iu (const u32s *ptr, size_t l)
 Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра simple unicode.
 
consteval HashKey< uws > operator""_h (const uws *ptr, size_t l)
 Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем с учётом регистра.
 
consteval HashKeyIA< uws > operator""_ia (const uws *ptr, size_t l)
 Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра ASCII.
 
HashKeyIU< uws > operator""_iu (const uws *ptr, size_t l)
 Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра simple unicode.
 
std::ostream & operator<< (std::ostream &stream, ssa text)
 Оператор вывода в поток simple_str.
 
std::wostream & operator<< (std::wostream &stream, ssw text)
 Оператор вывода в поток simple_str.
 
std::wostream & operator<< (std::wostream &stream, simple_str< wchar_type > text)
 Оператор вывода в поток simple_str.
 
std::ostream & operator<< (std::ostream &stream, const stringa &text)
 Оператор вывода в поток sstring.
 
std::wostream & operator<< (std::wostream &stream, const stringw &text)
 Оператор вывода в поток sstring.
 
std::wostream & operator<< (std::wostream &stream, const sstring< wchar_type > &text)
 Оператор вывода в поток sstring.
 
template<size_t N, bool S, simstr::Allocatorable A>
std::ostream & operator<< (std::ostream &stream, const lstring< u8s, N, S, A > &text)
 Оператор вывода в поток lstring.
 
template<size_t N, bool S, simstr::Allocatorable A>
std::wostream & operator<< (std::wostream &stream, const lstring< uws, N, S, A > &text)
 Оператор вывода в поток lstring.
 
template<size_t N, bool S, simstr::Allocatorable A>
std::wostream & operator<< (std::wostream &stream, const lstring< wchar_type, N, S, A > &text)
 Оператор вывода в поток lstring.
 
template<StrExpr A, StrExprForType< typename A::symb_type > B>
constexpr strexprjoin< A, B > operator+ (const A &a, const B &b)
 Оператор сложения двух произвольных строковых выражения для одинакового типа символов.
 
template<StrExpr A, convertible_to_strexpr< typename A::symb_type > B>
constexpr strexprjoin_c< A, convert_to_strexpr_t< typename A::symb_type, B >, true > operator+ (const A &a, B &&b)
 Оператор сложения строкового выражения и типов, для которых есть преобразование в строковое выражение.
 
template<StrExpr A, convertible_to_strexpr< typename A::symb_type > B>
constexpr strexprjoin_c< A, convert_to_strexpr_t< typename A::symb_type, B >, false > operator+ (B &&b, const A &a)
 Оператор сложения типов, для которых есть преобразование в строковое выражение и строкового выражения.
 
template<typename K, StrExprForType< K > A>
constexpr strexprjoin_c< A, expr_char< K > > operator+ (const A &a, K s)
 Оператор сложения строкового выражения и одного символа.
 
template<typename K>
constexpr expr_char< K > e_char (K s)
 Генерирует строку из 1 заданного символа.
 
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)
 Преобразует строковый литерал в строковое выражение.
 
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)
 Оператор сложения для строкового выражения и строкового литерала такого же типа символов.
 
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)
 Оператор сложения для строкового литерала такого же типа символов и строкового выражения.
 
template<size_t N>
constexpr expr_spaces< u8s, N > e_spca ()
 Генерирует строку из N char пробелов.
 
template<size_t N>
constexpr expr_spaces< uws, N > e_spcw ()
 Генерирует строку из N wchar_t пробелов.
 
template<typename K>
constexpr expr_pad< K > e_c (size_t l, K s)
 Генерирует строку из l символов s типа 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)
 Генерирует строку из l строковых констант s типа K.
 
template<StrExpr A>
constexpr expr_repeat_expr< A > e_repeat (const A &s, size_t l)
 Генерирует строку из l строковых выражений s типа 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)
 Создание условного строкового выражения 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)
 Перегрузка e_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, false > e_choice (bool c, T &&str, const A &a)
 Перегрузка e_choice, когда второй аргумент - строковый литерал.
 
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)
 Перегрузка e_choice, когда второй и третий аргумент - строковые литералы.
 
template<StrExpr A>
constexpr expr_if< A > e_if (bool c, const A &a)
 Создание условного строкового выражения expr_if.
 
template<typename T, size_t N = const_lit<T>::Count>
constexpr auto e_if (bool c, T &&str)
 Перегрузка e_if, когда второй аргумент - строковый литерал.
 
template<typename K, FromIntNumber T>
constexpr expr_num< K, T > e_num (T t)
 Преобразование целого числа в строковое выражение.
 
template<typename K>
requires is_one_of_char_v<K>
constexpr expr_real< K > e_num (double t)
 Преобразование double числа в строковое выражение.
 
template<unsigned Flags = 0, FromIntNumber T>
constexpr auto e_hex (T v)
 Позволяет конкатенировать текст и беззнаковое число в 16-ричном виде.
 
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(' '))
 Создает выражение, которое дополняет указанное строковое выражение до заданной длины заданным символом слева.
 
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(' '))
 Создает выражение, которое дополняет указанное строковое выражение до заданной длины заданным символом справа.
 
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)
 Получить строковое выражение, конкатенирующее строки в контейнере в одну строку с заданным разделителем.
 
SS_CONSTEVAL str_src_nt< u8s > operator""_ss (const u8s *ptr, size_t l)
 Оператор литерал в str_src.
 
SS_CONSTEVAL str_src_nt< ubs > operator""_ss (const ubs *ptr, size_t l)
 Оператор литерал в str_src.
 
SS_CONSTEVAL str_src_nt< uws > operator""_ss (const uws *ptr, size_t l)
 Оператор литерал в str_src.
 
SS_CONSTEVAL str_src_nt< u16s > operator""_ss (const u16s *ptr, size_t l)
 Оператор литерал в str_src.
 
SS_CONSTEVAL str_src_nt< u32s > operator""_ss (const u32s *ptr, size_t l)
 Оператор литерал в str_src.
 
template<StrSource A, typename K = symb_type_from_src_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)
 Получить строковое выражение, генерирующее строку с заменой всех вхождений заданной подстроки.
 
template<StrSource A, typename K = symb_type_from_src_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)
 Получить строковое выражение, генерирующее строку с заменой всех вхождений заданной подстроки.
 
template<StrSource A, typename K = symb_type_from_src_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)
 Получить строковое выражение, генерирующее строку с заменой всех вхождений заданной подстроки.
 
template<bool UseVector = false, StrSource A, typename K = symb_type_from_src_t<A>, typename ... Repl>
requires (sizeof...(Repl) % 2 == 0)
auto e_repl_const_symbols (A &&src, Repl &&... other)
 Возвращает строковое выражение, генерирующее строку, в которой заданные символы заменены на заданные подстроки.
 
template<typename T, typename K = symb_type_from_src_t<T>, typename ... Args>
requires (sizeof...(Args) > 1)
constexpr expr_concat< K, to_str_exp_t< K, T >, to_str_exp_t< K, Args >... > e_concat (T &&glue, Args &&...args)
 Создание строкового выражения, объединяющего указанные строковые выражения, с использованием заданного разделителя.
 
template<typename T, typename... Args>
requires (sizeof...(Args) > 0)
constexpr auto e_subst (T &&str_pattern, const details::subst_params< typename const_lit< T >::symb_type, std::type_identity_t< T >, std::type_identity_t< Args >... > &pattern, Args &&...args)
 Создает строковое выражение, которое подставляет в заданные места в строковом литерале - образце значения переданных строковых выражений.
 

Переменные

constexpr empty_expr< u8s > eea {}
 Пустое строковое выражение типа char.
 
constexpr empty_expr< u8s > eeb {}
 Пустое строковое выражение типа char8_t.
 
constexpr empty_expr< uws > eew {}
 Пустое строковое выражение типа wchar_t.
 
constexpr empty_expr< u16s > eeu {}
 Пустое строковое выражение типа char16_t.
 
constexpr empty_expr< u32s > eeuu {}
 Пустое строковое выражение типа char32_t.
 

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

Пространство имён для объектов библиотеки

Перечисления

◆ IntConvertResult

enum class simstr::IntConvertResult : char
strong

Перечисление с возможными результатами преобразования строки в целое число

Элементы перечислений
Success 

Успешно

BadSymbolAtTail 

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

Overflow 

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

NotNumber 

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

Функции

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

Возвращает строковое выражение, преобразующую строку из одного типа символов в другой тип, через UTF-конвертирование.

Параметры шаблона
To- тип строки, в которую надо конвертировать.
From- тип строки, из которого надо конвертировать. Выводится из аргумента.
Аргументы
from- строка, из которой надо конвертировать.

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

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

Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем с учётом регистра.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
StoreType.

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

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

Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем с учётом регистра.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
StoreType.

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

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

Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем с учётом регистра.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
StoreType.

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

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

Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем с учётом регистра.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
StoreType.

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

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

Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра ASCII.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
StoreType.

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

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

Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра ASCII.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
StoreType.

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

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

Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра ASCII.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
StoreType.

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

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

Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра ASCII.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
StoreType.

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

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

Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра simple unicode.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
StoreType.

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

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

Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра simple unicode.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
StoreType.

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

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

Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра simple unicode.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
StoreType.

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

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

Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра simple unicode.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
StoreType.

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

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

Оператор литерал в simple_str_nt.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
simple_str_nt.

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

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

Оператор литерал в str_src.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
str_src.

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

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

Оператор литерал в simple_str_nt.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
simple_str_nt.

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

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

Оператор литерал в str_src.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
str_src.

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

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

Оператор литерал в simple_str_nt.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
simple_str_nt.

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

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

Оператор литерал в str_src.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
str_src.

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

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

Оператор литерал в simple_str_nt.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
simple_str_nt.

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

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

Оператор литерал в str_src.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
str_src.

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

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

Оператор литерал в simple_str_nt.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
simple_str_nt.

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

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

Оператор литерал в str_src.

Аргументы
ptr- указатель на строку.
l- длина строки.
Возвращает
str_src.

◆ operator+() [1/2]

template<StrExpr A, convertible_to_strexpr< typename A::symb_type > B>
strexprjoin_c< A, convert_to_strexpr_t< typename A::symb_type, B >, false > simstr::operator+ ( B && b,
const A & a )
inlineconstexpr

Оператор сложения типов, для которых есть преобразование в строковое выражение и строкового выражения.

Параметры шаблона
A- тип строкового выражения.
B- тип слагаемого.
Аргументы
b- слагаемое.
a- строковое выражение.
Возвращает
constexpr strexprjoin_c<A, convert_to_strexpr_t<typename A::symb_type, B>, true>

◆ operator+() [2/2]

template<StrExpr A, convertible_to_strexpr< typename A::symb_type > B>
strexprjoin_c< A, convert_to_strexpr_t< typename A::symb_type, B >, true > simstr::operator+ ( const A & a,
B && b )
inlineconstexpr

Оператор сложения строкового выражения и типов, для которых есть преобразование в строковое выражение.

Параметры шаблона
A- тип строкового выражения.
B- тип слагаемого.
Аргументы
a- строковое выражение.
b- слагаемое.
Возвращает
constexpr strexprjoin_c<A, convert_to_strexpr_t<typename A::symb_type, B>, true>

◆ 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

Оператор вывода в поток lstring.

Аргументы
stream- поток вывода.
text- текст.
Возвращает
std::ostream&.

◆ operator<<() [2/9]

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

Оператор вывода в поток sstring.

Аргументы
stream- поток вывода.
text- текст.
Возвращает
std::ostream&.

◆ operator<<() [3/9]

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

Оператор вывода в поток simple_str.

Аргументы
stream- поток вывода.
text- текст.
Возвращает
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

Оператор вывода в поток lstring.

Аргументы
stream- поток вывода.
text- текст.
Возвращает
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

Оператор вывода в поток lstring.

Аргументы
stream- поток вывода.
text- текст.
Возвращает
std::ostream&.

◆ operator<<() [6/9]

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

Оператор вывода в поток sstring.

Аргументы
stream- поток вывода.
text- текст.
Возвращает
std::ostream&.

◆ operator<<() [7/9]

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

Оператор вывода в поток sstring.

Аргументы
stream- поток вывода.
text- текст.
Возвращает
std::ostream&.

◆ operator<<() [8/9]

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

Оператор вывода в поток simple_str.

Аргументы
stream- поток вывода.
text- текст.
Возвращает
std::ostream&.

◆ operator<<() [9/9]

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

Оператор вывода в поток simple_str.

Аргументы
stream- поток вывода.
text- текст.
Возвращает
std::ostream&.