|
|
template<typename T, typename A = allocator_hashstrmap<u8s, str_exact, T>> |
| using | hashStrMapA = hashStrMap<u8s, T, str_exact, A> |
| | Тип хеш-словаря для char строк, регистрозависимый поиск.
|
| |
|
template<typename T, typename A = allocator_hashstrmap<u8s, str_eqlia, T>> |
| using | hashStrMapAIA = hashStrMap<u8s, T, str_eqlia, A> |
| | Тип хеш-словаря для char строк, регистронезависимый поиск для ASCII символов.
|
| |
|
template<typename T, typename A = allocator_hashstrmap<u8s, str_eqliu, T>> |
| using | hashStrMapAIU = hashStrMap<u8s, T, str_eqliu, A> |
| | Тип хеш-словаря для char строк, регистронезависимый поиск для Unicode символов до 0xFFFF.
|
| |
|
template<typename T, typename A = allocator_hashstrmap<ubs, str_exact, T>> |
| using | hashStrMapB = hashStrMap<ubs, T, str_exact, A> |
| | Тип хеш-словаря для char8_t строк, регистрозависимый поиск.
|
| |
|
template<typename T, typename A = allocator_hashstrmap<ubs, str_eqlia, T>> |
| using | hashStrMapBIA = hashStrMap<ubs, T, str_eqlia, A> |
| | Тип хеш-словаря для char8_t строк, регистронезависимый поиск для ASCII символов.
|
| |
|
template<typename T, typename A = allocator_hashstrmap<ubs, str_eqliu, T>> |
| using | hashStrMapBIU = hashStrMap<ubs, T, str_eqliu, A> |
| | Тип хеш-словаря для char8_t строк, регистронезависимый поиск для Unicode символов до 0xFFFF.
|
| |
|
template<typename T, typename A = allocator_hashstrmap<wchar_t, str_exact, T>> |
| using | hashStrMapW = hashStrMap<wchar_t, T, str_exact, A> |
| | Тип хеш-словаря для wchar_t строк, регистрозависимый поиск.
|
| |
|
template<typename T, typename A = allocator_hashstrmap<wchar_t, str_eqlia, T>> |
| using | hashStrMapWIA = hashStrMap<wchar_t, T, str_eqlia, A> |
| | Тип хеш-словаря для wchar_t строк, регистронезависимый поиск для ASCII символов.
|
| |
|
template<typename T, typename A = allocator_hashstrmap<wchar_t, str_eqliu, T>> |
| using | hashStrMapWIU = hashStrMap<wchar_t, T, str_eqliu, A> |
| | Тип хеш-словаря для wchar_t строк, регистронезависимый поиск для Unicode символов до 0xFFFF.
|
| |
|
template<typename T, typename A = allocator_hashstrmap<u16s, str_exact, T>> |
| using | hashStrMapU = hashStrMap<u16s, T, str_exact, A> |
| | Тип хеш-словаря для char16_t строк, регистрозависимый поиск.
|
| |
|
template<typename T, typename A = allocator_hashstrmap<u16s, str_eqlia, T>> |
| using | hashStrMapUIA = hashStrMap<u16s, T, str_eqlia, A> |
| | Тип хеш-словаря для char16_t строк, регистронезависимый поиск для ASCII символов.
|
| |
|
template<typename T, typename A = allocator_hashstrmap<u16s, str_eqliu, T>> |
| using | hashStrMapUIU = hashStrMap<u16s, T, str_eqliu, A> |
| | Тип хеш-словаря для char16_t строк, регистронезависимый поиск для Unicode символов до 0xFFFF.
|
| |
|
template<typename T, typename A = allocator_hashstrmap<u32s, str_exact, T>> |
| using | hashStrMapUU = hashStrMap<u32s, T, str_exact, A> |
| | Тип хеш-словаря для char32_t строк, регистрозависимый поиск.
|
| |
|
template<typename T, typename A = allocator_hashstrmap<u32s, str_eqlia, T>> |
| using | hashStrMapUUIA = hashStrMap<u32s, T, str_eqlia, A> |
| | Тип хеш-словаря для char32_t строк, регистронезависимый поиск для ASCII символов.
|
| |
|
template<typename T, typename A = allocator_hashstrmap<u32s, str_eqliu, T>> |
| using | hashStrMapUUIU = hashStrMap<u32s, T, str_eqliu, A> |
| | Тип хеш-словаря для char32_t строк, регистронезависимый поиск для Unicode символов до 0xFFFF.
|
| |
|
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< ubs > | operator""_h (const ubs *ptr, size_t l) |
| | Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем с учётом регистра.
|
| |
| consteval HashKeyIA< ubs > | operator""_ia (const ubs *ptr, size_t l) |
| | Оператор литерал в ключ для hashStrMap с посчитанным в compile time хешем без учёта регистра ASCII.
|
| |
| HashKeyIU< ubs > | operator""_iu (const ubs *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<unsigned R, auto fp = f::df, FromIntNumber T>
requires good_int_flags<flags_checker<R, T, decltype(fp)>, false> |
| constexpr auto | e_int (T v) |
| | Создает объект, который преобразовывается в строковое выражение, генерирующее строковое представление числа.
|
| |
template<unsigned R, auto fp = f::df, FromIntNumber T>
requires good_int_flags<flags_checker<R, T, decltype(fp)>, true> |
| constexpr auto | e_int (T v, unsigned w) |
| | То же самое, что e_int(num), только дополнительно передаётся ширина поля.
|
| |
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) |
| | Получить строковое выражение, конкатенирующее строки в контейнере в одну строку с заданным разделителем.
|
| |
| template<char... Chars> |
| SS_CONSTEVAL auto | operator""_fmt () |
| | Создает набор из основания системы счисления и флагов, который может быть применён к целым числам для задания параметров форматирования с помощью оператора деления: num / 0xПараметрыФорматирования_fmt. Параметры форматирования задаются следующим образом: сначала идёт 0x, затем основание счисления, записанное в десятичном виде. Далее могут идти символы, обозначающие различные флаги:
|
| |
| 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) |
| | Возвращает строковое выражение, генерирующее строку, в которой заданные символы заменены на заданные подстроки.
|
| |