The mutable, owning string class. Contains an internal buffer for text of a given size. More...
#include <sstring.h>
Public Types | |
| enum | : size_t { LocalCapacity = N | (sizeof(void*) / sizeof(K) - 1) } |
Public Member Functions | |
| lstring (const my_type &other) | |
| Copy from another string of the same type. | |
| template<typename... Args> requires (sizeof...(Args) > 0 && std::is_convertible_v<allocator_t, Args...>) | |
| lstring (const my_type &other, Args &&... args) | |
| Copy from another string of the same type, but with a different allocator. | |
| template<typename T, size_t I = const_lit_for<K, T>::Count, typename... Args> requires std::is_constructible_v<allocator_t, Args...> | |
| constexpr | lstring (T &&value, Args &&... args) |
| String literal constructor. | |
| lstring (my_type &&other) noexcept | |
| Constructor for moving from a string of the same type. | |
| template<typename Op, typename... Args> requires (std::is_constructible_v<Allocator, Args...> && (std::is_invocable_v<Op, my_type&> || std::is_invocable_v<Op, K*, size_t>)) | |
| lstring (const Op &op, Args &&... args) | |
| A fill constructor using a functor (see str_mutable::fill). | |
| my_type & | operator= (const my_type &other) |
| Copy assignment operator from a string of the same type. | |
| my_type & | operator= (my_type &&other) noexcept |
| Assignment operator by moving from a string of the same type. | |
| my_type & | operator= (simple_str< K > other) |
| Assignment operator from simple_str. | |
| template<typename T, size_t S = const_lit_for<K, T>::Count> | |
| my_type & | operator= (T &&other) |
| String literal assignment operator. | |
| my_type & | operator= (const StrExprForType< K > auto &expr) |
| String expression appending operator. | |
| size_t | length () const noexcept |
| String length. | |
| const K * | symbols () const noexcept |
| Pointer to constant characters. | |
| K * | str () noexcept |
| Pointer to a string buffer. | |
| bool | is_empty () const noexcept |
| Is the string empty? | |
| bool | empty () const noexcept |
| Whether the string is empty, for compatibility with std::string. | |
| size_t | capacity () const noexcept |
| Current row buffer capacity. | |
| K * | reserve_no_preserve (size_t newSize) |
| Allocate a buffer large enough to hold newSize characters plus a terminating null. | |
| K * | reserve (size_t newSize) |
| Allocate a buffer large enough to hold newSize characters plus a terminating null. | |
| K * | set_size (size_t newSize) |
| Sets the size of the current string, allocating space if necessary. | |
| bool | is_local () const noexcept |
| Find out whether a local or external buffer is used for characters. | |
| void | define_size () |
| Determine the length of the string. Searches for the character 0 in the string buffer to its capacity, and then sets the length of the line to the found 0. | |
| void | shrink_to_fit () |
| Reduces the size of the external buffer to the smallest possible size to hold the string. If the string fits into the internal buffer, it copies it into it and frees the external buffer. | |
| void | clear () |
| Makes a string empty without changing the string buffer. | |
| void | reset () |
| Makes the string empty and frees the external buffer, if there was one. | |
| constexpr K * | place (K *ptr) const noexcept |
| Copy the string to the specified buffer. | |
| void | copy_to (K *buffer, size_t bufSize) |
| Copy the string to the specified buffer. | |
| size_t | size () const |
| The size of the string in characters. | |
| constexpr | operator str_piece () const noexcept |
| Convert itself to a "string chunk" that includes the entire string. | |
| str_piece | to_str () const noexcept |
| Convert itself to a "string chunk" that includes the entire string. | |
| std::basic_string_view< K > | to_sv () const noexcept |
| Convert to std::string_view. | |
| std::basic_string< K > | to_string () const noexcept |
| Convert to std::string. | |
| constexpr str_piece | operator() (ptrdiff_t from, ptrdiff_t len=0) const noexcept |
| Get part of a string as "simple_str". | |
| constexpr str_piece | mid (size_t from, size_t len=-1) const noexcept |
| Get part of a string as "string chunk". | |
| constexpr str_piece | from_to (size_t from, size_t to) const noexcept |
| Get the substring simple_str from position from to position to (not including it). | |
| bool | operator! () const noexcept |
| Check for emptiness. | |
| K | at (ptrdiff_t idx) const |
| Get the character at the given position. | |
| constexpr int | compare (str_piece o) const |
| Compare strings character by character. | |
| constexpr int | strcmp (const K *text) const |
| Compare with C-string character by character. | |
| constexpr bool | equal (str_piece other) const noexcept |
| String comparison for equality. | |
| constexpr bool | operator== (const base &other) const noexcept |
| Operator comparing strings for equality. | |
| bool | operator== (T &&other) const noexcept |
| Operator for comparing a string and a string literal for equality. | |
| constexpr auto | operator<=> (const base &other) const noexcept |
| String comparison operator. | |
| auto | operator<=> (T &&other) const noexcept |
| Comparison operator between a string and a string literal. | |
| int | compare_ia (str_piece text) const noexcept |
| Compare strings character by character and not case sensitive ASCII characters. | |
| bool | equal_ia (str_piece text) const noexcept |
| Whether a string is equal to another string, character-by-character-insensitive, of ASCII characters. | |
| bool | less_ia (str_piece text) const noexcept |
| Whether a string is smaller than another string, character-by-character-insensitive, ASCII characters. | |
| int | compare_iu (str_piece text) const noexcept |
| Compare strings character by character without taking into account the case of Unicode characters of the first plane (<0xFFFF). | |
| bool | equal_iu (str_piece text) const noexcept |
| Whether a string is equal to another string, character-by-character-insensitive, of the Unicode characters of the first plane (<0xFFFF). | |
| bool | less_iu (str_piece text) const noexcept |
| Whether a string is smaller than another string, character-by-character-insensitive, of the Unicode characters of the first plane (<0xFFFF). | |
| size_t | find (str_piece pattern, size_t offset=0) const noexcept |
| Find the beginning of the first occurrence of a substring in this string. | |
| size_t | find (K s, size_t offset=0) const noexcept |
| Find a character in this string. | |
| size_t | find_or_throw (str_piece pattern, size_t offset=0, Args &&... args) const noexcept |
| Find the beginning of the first occurrence of a substring in this string or throw an exception. | |
| size_t | find_end (str_piece pattern, size_t offset=0) const noexcept |
| Find the end of the occurrence of a substring in this string. | |
| size_t | find_or_all (str_piece pattern, size_t offset=0) const noexcept |
| Find the beginning of the first occurrence of a substring in this string or the end of the string. | |
| size_t | find_or_all (K s, size_t offset=0) const noexcept |
| Find a character in this string or the end of a string. | |
| size_t | find_end_or_all (str_piece pattern, size_t offset=0) const noexcept |
| Find the end of the first occurrence of a substring in this string, or the end of a string. | |
| size_t | find_last (str_piece pattern, size_t offset=-1) const noexcept |
| Find the beginning of the last occurrence of a substring in this string. | |
| size_t | find_last (K s, size_t offset=-1) const noexcept |
| Find the last occurrence of a character in this string. | |
| size_t | find_end_of_last (str_piece pattern, size_t offset=-1) const noexcept |
| Find the end of the last occurrence of a substring in this string. | |
| size_t | find_last_or_all (str_piece pattern, size_t offset=-1) const noexcept |
| Find the beginning of the last occurrence of a substring in this string or the end of the string. | |
| size_t | find_end_of_last_or_all (str_piece pattern, size_t offset=-1) const noexcept |
| Find the end of the last occurrence of a substring in this string, or the end of a string. | |
| bool | contains (str_piece pattern, size_t offset=0) const noexcept |
| Whether the string contains the specified substring. | |
| void | for_all_finded (const Op &op, str_piece pattern, size_t offset=0, size_t maxCount=0) const |
| Call a functor on all found occurrences of a substring in this string. | |
| std::vector< size_t > | find_all (str_piece pattern, size_t offset=0, size_t maxCount=0) const |
| Find all occurrences of a substring in this string. | |
| size_t | find_first_of (str_piece pattern, size_t offset=0) const noexcept |
| Find the first occurrence of a character from a given character set. | |
| std::pair< size_t, size_t > | find_first_of_idx (str_piece pattern, size_t offset=0) const noexcept |
| Find the first occurrence of a character from a given character set. | |
| size_t | find_first_not_of (str_piece pattern, size_t offset=0) const noexcept |
| Find the first occurrence of a character not from the given character set. | |
| size_t | find_last_of (str_piece pattern, size_t offset=str::npos) const noexcept |
| Find the last occurrence of a character from a given character set. | |
| std::pair< size_t, size_t > | find_last_of_idx (str_piece pattern, size_t offset=str::npos) const noexcept |
| Find the last occurrence of a character from a given character set. | |
| size_t | find_last_not_of (str_piece pattern, size_t offset=str::npos) const noexcept |
| Find the last occurrence of a character not from the given character set. | |
| my_type | substr (ptrdiff_t from, ptrdiff_t len=0) const |
| Get a substring. Works similarly to operator(), only the result is the same type as the method applied to. | |
| my_type | str_mid (size_t from, size_t len=-1) const |
| Get part of a string with an object of the same type to which the method is applied, similar to mid. | |
| T | as_int () const noexcept |
| Convert a string to a number of the given type. | |
| convert_result< T > | to_int () const noexcept |
| Convert a string to a number of the given type. | |
| std::optional< double > | to_double () const noexcept |
| Convert string to double. | |
| std::optional< double > | to_double_hex () const noexcept |
| Convert string in hex form to double. | |
| void | as_number (T &t) const |
| Convert a string to an integer. | |
| void | as_number (double &t) const |
| Convert string to double. | |
| T | splitf (str_piece delimeter, const Op &beforeFunc, size_t offset=0) const |
| Split a string into parts at a given delimiter, possibly applying a functor to each substring. | |
| T | split (str_piece delimeter, size_t offset=0) const |
| Split a string into substrings using a given delimiter. | |
| Splitter< K > | splitter (str_piece delimeter) const |
Retrieve a Splitter object by the given splitter, which allows sequential get substrings using the next() method while is_done() is false. | |
| constexpr bool | starts_with (str_piece prefix) const noexcept |
| Whether the string begins with the given substring. | |
| constexpr bool | starts_with_ia (str_piece prefix) const noexcept |
| Whether the string begins with the given substring in a case-insensitive ASCII character. | |
| bool | starts_with_iu (str_piece prefix) const noexcept |
| Whether the string starts with the given substring, case-insensitive Unicode characters of the first plane (<0xFFFF). | |
| constexpr bool | prefix_in (str_piece text) const noexcept |
| Whether this string is the beginning of another string. | |
| constexpr bool | ends_with (str_piece suffix) const noexcept |
| Whether the string ends with the specified substring. | |
| constexpr bool | ends_with_ia (str_piece suffix) const noexcept |
| Whether the string ends with the specified substring in a case-insensitive ASCII character. | |
| constexpr bool | ends_with_iu (str_piece suffix) const noexcept |
| Whether the string ends with the specified substring, case-insensitive Unicode characters of the first plane (<0xFFFF). | |
| bool | is_ascii () const noexcept |
| Whether the string contains only ASCII characters. | |
| R | uppered_only_ascii () const |
| Get a copy of the string in uppercase ASCII characters. | |
| R | lowered_only_ascii () const |
| Get a copy of the string in lowercase ASCII characters. | |
| R | uppered () const |
| Get a copy of the string in upper case Unicode characters of the first plane (<0xFFFF). | |
| R | lowered () const |
| Get a copy of the string in lowercase Unicode characters of the first plane (<0xFFFF). | |
| R | replaced (str_piece pattern, str_piece repl, size_t offset=0, size_t maxCount=0) const |
| Get a copy of the string with occurrences of substrings replaced. | |
| expr_replaces< K, N - 1, L - 1 > | replace_init (T &&pattern, M &&repl) const |
| Get a string expression that produces a string with replaced substrings given by string literals. | |
| R | trimmed () const |
| Get a string with whitespace removed on the left and right. | |
| R | trimmed (T &&pattern) const |
| Get a string with the characters specified by the string literal removed from the left and right. | |
| R | trimmed (str_piece pattern) const |
| Get a string with characters specified by another string removed, left and right. | |
| R | trimmed_left () const |
| Get a string with whitespace removed on the left. | |
| R | trimmed_left (T &&pattern) const |
| Get a string with the characters specified by the string literal removed from the left. | |
| R | trimmed_left (str_piece pattern) const |
| Get a string with characters specified by another string removed from the left. | |
| R | trimmed_right () const |
| Get a string with whitespace removed on the right. | |
| R | trimmed_right (T &&pattern) const |
| Get a string with the characters specified by the string literal removed from the right. | |
| R | trimmed_right (str_piece pattern) const |
| Get a string with characters specified by another string removed to the right. | |
| R | trimmed_with_spaces (T &&pattern) const |
| Get a string with the characters specified by the string literal removed, as well as whitespace characters, left and right. | |
| R | trimmed_with_spaces (str_piece pattern) const |
| Get a string, removing characters specified by another string, as well as whitespace characters, left and right. | |
| R | trimmed_left_with_spaces (T &&pattern) const |
| Get a string with the characters specified by the string literal removed, as well as whitespace characters, left. | |
| R | trimmed_left_with_spaces (str_piece pattern) const |
| Get a string, removing characters specified by another string, as well as whitespace characters, left. | |
| R | trimmed_right_with_spaces (T &&pattern) const |
| Get a string with the characters specified by the string literal removed, as well as whitespace characters, right. | |
| R | trimmed_right_with_spaces (str_piece pattern) const |
| Get a string, removing characters specified by another string, as well as whitespace characters, right. | |
| operator K* () noexcept | |
| Get a pointer to the string buffer. | |
| lstring< K, N, false, allocator_string > & | trim () |
| Remove whitespace from the beginning and end of a line. | |
| lstring< K, N, false, allocator_string > & | trim (T &&pattern) |
| Remove characters included in a string literal at the beginning and end of the line. | |
| lstring< K, N, false, allocator_string > & | trim (str_piece pattern) |
| Remove characters included in the passed string at the beginning and end of the line. | |
| lstring< K, N, false, allocator_string > & | trim_left () |
| Remove whitespace at the beginning of a line. | |
| lstring< K, N, false, allocator_string > & | trim_left (T &&pattern) |
| Remove characters included in a string literal at the beginning of the line. | |
| lstring< K, N, false, allocator_string > & | trim_left (str_piece pattern) |
| Remove characters included in the passed string at the beginning of the line. | |
| lstring< K, N, false, allocator_string > & | trim_right () |
| Remove whitespace from the end of a line. | |
| lstring< K, N, false, allocator_string > & | trim_right (T &&pattern) |
| Remove characters included in a string literal at the end of the line. | |
| lstring< K, N, false, allocator_string > & | trim_right (str_piece pattern) |
| Remove characters included in the passed string from the end of the string. | |
| lstring< K, N, false, allocator_string > & | trim_with_spaces (T &&pattern) |
| Remove characters included in a string literal, as well as whitespace, at the beginning and end of the string. | |
| lstring< K, N, false, allocator_string > & | trim_with_spaces (str_piece pattern) |
| Remove characters included in the passed string, as well as whitespace characters, at the beginning and end of the string. | |
| lstring< K, N, false, allocator_string > & | trim_left_with_spaces (T &&pattern) |
| Remove characters included in a string literal, as well as whitespace, at the beginning of a line. | |
| lstring< K, N, false, allocator_string > & | trim_left_with_spaces (str_piece pattern) |
| Remove characters included in the passed string, as well as whitespace, at the beginning of the string. | |
| lstring< K, N, false, allocator_string > & | trim_right_with_wpaces (T &&pattern) |
| Remove characters included in a string literal, as well as whitespace, at the end of a string. | |
| lstring< K, N, false, allocator_string > & | trim_right_with_spaces (str_piece pattern) |
| Remove characters included in the passed string, as well as whitespace at the end of the string. | |
| lstring< K, N, false, allocator_string > & | upper_only_ascii () |
| Convert ASCII characters to uppercase. | |
| lstring< K, N, false, allocator_string > & | lower_only_ascii () |
| Convert ASCII characters to lowercase. | |
| lstring< K, N, false, allocator_string > & | upper () |
| Convert first plane characters (<0xFFFF) to uppercase Unicode. | |
| lstring< K, N, false, allocator_string > & | lower () |
| Convert first plane characters (<0xFFFF) to lowercase Unicode. | |
| lstring< K, N, false, allocator_string > & | append (str_piece other) |
| Add another line to the end of the line. | |
| lstring< K, N, false, allocator_string > & | append (const A &expr) |
| Add a string expression to the end of the line. | |
| lstring< K, N, false, allocator_string > & | operator+= (str_piece other) |
| Add another line to the end of the line. | |
| lstring< K, N, false, allocator_string > & | operator+= (const A &expr) |
| Add a string expression to the end of the line. | |
| lstring< K, N, false, allocator_string > & | append_in (size_t pos, str_piece other) |
| Add another line starting at the given position. | |
| lstring< K, N, false, allocator_string > & | append_in (size_t pos, const A &expr) |
| Add a string expression starting at the given position. | |
| lstring< K, N, false, allocator_string > & | change (size_t from, size_t len, str_piece other) |
| Replace a piece of string with another string. | |
| lstring< K, N, false, allocator_string > & | change (size_t from, size_t len, const A &expr) |
| Replace a piece of string with a string expression. | |
| lstring< K, N, false, allocator_string > & | insert (size_t to, str_piece other) |
| Insert a line at the specified position. | |
| lstring< K, N, false, allocator_string > & | insert (size_t to, const A &expr) |
| Insert a string expression at the specified position. | |
| lstring< K, N, false, allocator_string > & | remove (size_t from, size_t len) |
| Remove part of a line. | |
| lstring< K, N, false, allocator_string > & | prepend (str_piece other) |
| Add another line to the beginning of the line. | |
| lstring< K, N, false, allocator_string > & | prepend (const A &expr) |
| Add a string expression to the beginning of a line. | |
| lstring< K, N, false, allocator_string > & | replace (str_piece pattern, str_piece repl, size_t offset=0, size_t maxCount=0) |
| Replace occurrences of a substring with another string. | |
| lstring< K, N, false, allocator_string > & | replace_from (const From &f, str_piece pattern, str_piece repl, size_t offset=0, size_t maxCount=0) |
| Copy the source string, replacing occurrences of substrings with another string. | |
| lstring< K, N, false, allocator_string > & | fill (size_t from, const Op &fillFunction) |
| Fill a string buffer using a functor. | |
| lstring< K, N, false, allocator_string > & | operator<< (const Op &fillFunction) |
| Fills a string with the fill method from position zero. | |
| lstring< K, N, false, allocator_string > & | operator<< (const Op &fillFunction) |
| Calls the passed functor, passing a reference to itself. | |
| lstring< K, N, false, allocator_string > & | operator<<= (const Op &fillFunction) |
| Fills a string with the fill method after the end of the string. | |
| lstring< K, N, false, allocator_string > & | printf_from (size_t from, const K *format, T &&... args) |
| Appends sprintf formatted output starting at the specified position. | |
| lstring< K, N, false, allocator_string > & | printf (const K *format, T &&... args) |
| Formats a string using sprintf. | |
| lstring< K, N, false, allocator_string > & | append_printf (const K *format, T &&... args) |
| Appends sprintf formatted output to the end of the line. | |
| lstring< K, N, false, allocator_string > & | format_from (size_t from, const FmtString< K, T... > &format, T &&... args) |
| Appends std::format-formatted output starting at the specified position. | |
| lstring< K, N, false, allocator_string > & | vformat_from (size_t from, size_t max_write, str_piece format, T &&... args) |
| Appends std::vformat formatted output starting at the specified position. | |
| lstring< K, N, false, allocator_string > & | format (const FmtString< K, T... > &pattern, T &&... args) |
| Formats a string using std::format. | |
| lstring< K, N, false, allocator_string > & | append_formatted (const FmtString< K, T... > &format, T &&... args) |
| Appends std::format-formatted output to the end of the line. | |
| lstring< K, N, false, allocator_string > & | vformat (str_piece format, T &&... args) |
| Formats a string using std::vformat. | |
| lstring< K, N, false, allocator_string > & | append_vformatted (str_piece format, T &&... args) |
| Appends std::vformat-formatted output to the end of the line. | |
| lstring< K, N, false, allocator_string > & | vformat_n (size_t max_write, str_piece format, T &&... args) |
| Formats a string using std::vformat up to the specified size. | |
| lstring< K, N, false, allocator_string > & | append_vformatted_n (size_t max_write, str_piece format, T &&... args) |
| Appends std::vformat-formatted output to the end of the line, writing no more than the specified number of characters. | |
| lstring< K, N, false, allocator_string > & | with (const Op &fillFunction, Args &&... args) |
| Call a functor with a string and passed arguments. | |
| operator const K * () const noexcept | |
| Conversion operator to a null-terminated C string. | |
| s_str_nt | to_nts (size_t from=0) const |
| Get simple_str_nt starting at the given character. | |
| operator s_str_nt () const | |
| Convert to simple_str_nt. | |
Static Public Member Functions | |
| static my_type | join (const T &strings, s_str delimeter, bool tail=false, bool skip_empty=false, Args &&... args) |
| Concatenate strings from the container into one string. | |
| static my_type | uppered_only_ascii_from (const From &f, Args &&... args) |
| Create a string copy of the passed in uppercase ASCII characters. | |
| static my_type | lowered_only_ascii_from (const From &f, Args &&... args) |
| Create a copy of the passed string in lowercase ASCII characters. | |
| static my_type | uppered_from (const From &f, Args &&... args) |
| Create a copy of the passed string in uppercase Unicode characters of the first plane (<0xFFFF). | |
| static my_type | lowered_from (const From &f, Args &&... args) |
| Create a copy of the passed string in lowercase Unicode characters of the first plane (<0xFFFF). | |
| static my_type | replaced_from (const From &f, s_str pattern, s_str repl, size_t offset=0, size_t maxCount=0, Args &&... args) |
| Create a copy of the passed string with substrings replaced. | |
Protected Member Functions | |
| allocator_t & | allocator () |
| Get the allocator. | |
The mutable, owning string class. Contains an internal buffer for text of a given size.
| K | - symbol type. |
| N | - the size of the internal string buffer is at least N. |
| forShared | - allocate an external buffer in a format compatible with sstring. |
| Allocator | - allocator type. |
"Local" string. Stores a pointer to characters and the length of the string, followed by either the data itself up to N characters + zero, or if the data is longer than N, then the size of the allocated buffer. At the same time, if you plan to later move the result to sstring, then for a dynamic buffer +n bytes are allocated so as not to copy the data later.
| anonymous enum : size_t |
|
inline |
Copy from another string of the same type.
| other | - another string. |
|
inline |
Copy from another string of the same type, but with a different allocator.
| other | - another string. |
| ...args | - parameters for initializing the allocator. |
|
inlineconstexpr |
String literal constructor.
| value | - string literal. |
| ...args | - parameter for initialization allocator. |
|
inlinenoexcept |
Constructor for moving from a string of the same type.
| other | - another string. |
|
inline |
A fill constructor using a functor (see str_mutable::fill).
| op | - filling functions. |
| ...args | - parameters for initializing the allocator. |
|
inlineinherited |
Add a string expression to the end of the line.
| expr | - string expression. |
|
inlineinherited |
Add another line to the end of the line.
| other | - another string. |
|
inlineinherited |
Appends std::format-formatted output to the end of the line.
| format | - format string, constant. |
| ...args | - arguments for std::format. |
Automatically increases the string buffer size if necessary.
|
inlineinherited |
Add a string expression starting at the given position.
| pos | - the position from which to add. First, the string is shortened to the specified value size, and then a string expression is added. |
| expr | - string expression. |
If the string is longer than pos, then it is shortened to this size, and then expr is added.
|
inlineinherited |
Add another line starting at the given position.
| pos | - the position from which to add. First, the string is shortened to the specified value size, and then another line is added. |
| other | - another string. |
If the string is longer than pos, then it is shortened to this size, and then other is added.
|
inlineinherited |
Appends sprintf formatted output to the end of the line.
| format | - format string. |
| ...args | - arguments for sprintf. |
Automatically increases the row buffer size if necessary.
|
inlineinherited |
Appends std::vformat-formatted output to the end of the line.
| format | - format string. |
| ... | - arguments for std::vformat. |
Automatically increases the string buffer size if necessary.
|
inlineinherited |
Appends std::vformat-formatted output to the end of the line, writing no more than the specified number of characters.
| max_write | - the maximum number of characters to write. |
| format | - format string. |
| ...args | - arguments for std::vformat. |
Automatically increases the string buffer size if necessary.
|
inlinenoexceptinherited |
Convert a string to a number of the given type.
| T | - the desired number type. |
| CheckOverflow | - check for overflow. |
| Base | - the base of the number, from -1 to 36, except 1.
|
| SkipWs | - skip whitespace characters at the beginning of the line. |
| AllowSign | - whether the '+' sign is allowed before a number. |
|
inlineinherited |
Convert string to double.
| t | - the variable into which the result is written. |
|
inlineinherited |
Convert a string to an integer.
| T | - number type, inferred from the argument. |
| t | - the variable into which the result is written. |
|
inlineinherited |
Get the character at the given position.
| idx | - symbol index. For negative values, it is counted from the end of the line. |
Does not check for line boundaries.
|
inlineinherited |
Replace a piece of string with a string expression.
| from | - starting position for replacement. |
| len | - length of the part to be replaced. |
| expr | - string expression. |
|
inlineinherited |
Replace a piece of string with another string.
| from | - starting position for replacement. |
| len | - length of the part to be replaced. |
| other | - the string this part is changed to. |
|
inlineconstexprinherited |
Compare strings character by character.
| o | - another line. |
|
inlinenoexceptinherited |
Compare strings character by character and not case sensitive ASCII characters.
| text | - another line. |
|
inlinenoexceptinherited |
Compare strings character by character without taking into account the case of Unicode characters of the first plane (<0xFFFF).
| text | - another line. |
|
inlinenoexceptinherited |
Whether the string contains the specified substring.
| pattern | - the search string. |
| offset | - from which position to start the search. |
|
inlineinherited |
Copy the string to the specified buffer.
The method adds \0 after the copied characters. Does not exceed buffer boundaries.
| buffer | - pointer to buffer |
| bufSize | - buffer size in characters. |
|
inlineconstexprnoexceptinherited |
Whether the string ends with the specified substring.
| suffix | - substring. |
|
inlineconstexprnoexceptinherited |
Whether the string ends with the specified substring in a case-insensitive ASCII character.
| suffix | - substring. |
|
inlineconstexprnoexceptinherited |
Whether the string ends with the specified substring, case-insensitive Unicode characters of the first plane (<0xFFFF).
| suffix | - substring. |
|
inlineconstexprnoexceptinherited |
String comparison for equality.
| other | - another line. |
|
inlinenoexceptinherited |
Whether a string is equal to another string, character-by-character-insensitive, of ASCII characters.
| text | - another line. |
|
inlinenoexceptinherited |
Whether a string is equal to another string, character-by-character-insensitive, of the Unicode characters of the first plane (<0xFFFF).
| text | - another line. |
|
inlineinherited |
Fill a string buffer using a functor.
| from | - starting position to fill. |
| fillFunction | - size_t(K*, size_t) functor that receives the address of the string buffer and its capacity, returning the required string size. |
The function calls the functor, passing it the address of the string buffer and its capacity. The functor can modify the buffer within the allocated capacity, and must return the size of the resulting string. As long as the returned size is larger than capacity (i.e. the string cannot fit into the buffer), memory of at least the returned size is allocated and the functor is called again. Until the returned size fits into the string buffer. This size becomes the length of the line.
|
inlinenoexceptinherited |
Find a character in this string.
| s | is an optional character. |
| offset | - from which position to start the search. |
|
inlinenoexceptinherited |
Find the beginning of the first occurrence of a substring in this string.
| pattern | - the search string. |
| offset | - from which position to start the search. |
|
inlineinherited |
Find all occurrences of a substring in this string.
| pattern | - the substring to search for. |
| offset | - search start position. |
| maxCount | - the maximum number of occurrences to be processed, 0 - no restrictions. |
|
inlinenoexceptinherited |
Find the end of the occurrence of a substring in this string.
| pattern | - the search string. |
| offset | - from which position to start the search. |
|
inlinenoexceptinherited |
Find the end of the last occurrence of a substring in this string.
| pattern | - the search string. |
| offset | - from which position to search in the opposite direction, -1 - from the very end. |
|
inlinenoexceptinherited |
Find the end of the last occurrence of a substring in this string, or the end of a string.
| pattern | - the search string. |
| offset | - from which position to search in the opposite direction, -1 - from the very end. |
|
inlinenoexceptinherited |
Find the end of the first occurrence of a substring in this string, or the end of a string.
| pattern | - the search string. |
| offset | - from which position to start the search. |
|
inlinenoexceptinherited |
Find the first occurrence of a character not from the given character set.
| pattern | - a string specifying the character set. |
| offset | - search start position. |
|
inlinenoexceptinherited |
Find the first occurrence of a character from a given character set.
| pattern | - a string specifying the set of characters to search for. |
| offset | - search start position. |
|
inlinenoexceptinherited |
Find the first occurrence of a character from a given character set.
| pattern | - a string specifying the set of characters to search for. |
| offset | - search start position. |
|
inlinenoexceptinherited |
Find the last occurrence of a character in this string.
| s | is an optional character. |
| offset | - from which position to search in the opposite direction, -1 - from the very end. |
|
inlinenoexceptinherited |
Find the beginning of the last occurrence of a substring in this string.
| pattern | - the search string. |
| offset | - from which position to search in the opposite direction, -1 - from the very end. |
|
inlinenoexceptinherited |
Find the last occurrence of a character not from the given character set.
| pattern | - a string specifying the character set. |
| offset | - search start position. |
|
inlinenoexceptinherited |
Find the last occurrence of a character from a given character set.
| pattern | - a string specifying the set of characters to search for. |
| offset | - search start position. |
|
inlinenoexceptinherited |
Find the last occurrence of a character from a given character set.
| pattern | - a string specifying the set of characters to search for. |
| offset | - search start position. |
|
inlinenoexceptinherited |
Find the beginning of the last occurrence of a substring in this string or the end of the string.
| pattern | - the search string. |
| offset | - from which position to search in the opposite direction, -1 - from the very end. |
|
inlinenoexceptinherited |
Find a character in this string or the end of a string.
| s | is an optional character. |
| offset | - from which position to start the search. |
|
inlinenoexceptinherited |
Find the beginning of the first occurrence of a substring in this string or the end of the string.
| pattern | - the search string. |
| offset | - from which position to start the search. |
|
inlinenoexceptinherited |
Find the beginning of the first occurrence of a substring in this string or throw an exception.
| Exc | - exception type. |
| Args... | - types of parameters for constructing an exception, inferred from the arguments. |
| pattern | - the search string. |
| offset | - from which position to start the search. |
| args | - arguments for the exception constructor. |
|
inlineinherited |
Call a functor on all found occurrences of a substring in this string.
| op | is a functor that takes a string. |
| pattern | - the substring to search for. |
| offset | - search start position. |
| maxCount | - the maximum number of occurrences to be processed, 0 - no restrictions. |
|
inlineinherited |
Formats a string using std::format.
| pattern | - format string, constant. |
| ...args | - arguments for std::format. |
Automatically increases the string buffer size if necessary.
|
inlineinherited |
Appends std::format-formatted output starting at the specified position.
| from | - starting position of adding. |
| format | - format string, constant. |
| ...args | - arguments for std::format. |
Automatically increases the string buffer size if necessary.
|
inlineconstexprnoexceptinherited |
Get the substring simple_str from position from to position to (not including it).
For performance reasons, the method does not check for line boundaries in any way, use in scenarios when you know for sure that these are positions inside the line and to >= from.
| from | - starting position. |
| to | - final position (not included in the result). |
|
inlineinherited |
Insert a string expression at the specified position.
| to | - insertion position. |
| expr | - string expression. |
|
inlineinherited |
Insert a line at the specified position.
| to | - insertion position. |
| other | - the string to be inserted. |
|
inlinestaticinherited |
Concatenate strings from the container into one string.
| strings | - container with strings. |
| delimeter | - delimiter added between lines. |
| tail | - add a separator after the last line. |
| skip_empty | - skip empty lines without adding a separator. |
| ...args | - parameters for initializing the allocator. |
The function is used to merge a container of strings into one delimited string.
It is worth noting that if the separator is known in advance, it is better to use the string expression e_join.
In this case, the compiler can better optimize the string merging code.
|
inlinenoexceptinherited |
Whether a string is smaller than another string, character-by-character-insensitive, ASCII characters.
| text | - another line. |
|
inlinenoexceptinherited |
Whether a string is smaller than another string, character-by-character-insensitive, of the Unicode characters of the first plane (<0xFFFF).
| text | - another line. |
|
inlineinherited |
Convert first plane characters (<0xFFFF) to lowercase Unicode.
Case is changed by simplified tables, where one code_point is always changed to one code_point (but for UTF-8 it is possible that the length in code units will change).
|
inlineinherited |
Convert ASCII characters to lowercase.
|
inlineinherited |
Get a copy of the string in lowercase Unicode characters of the first plane (<0xFFFF).
| R | - the desired string type, by default the same whose method was called. |
|
inlinestaticinherited |
Create a copy of the passed string in lowercase Unicode characters of the first plane (<0xFFFF).
| f | - source string. |
| ...args | - parameters for initializing the allocator. |
Case is changed by simplified tables, where one code_point is always changed to one code_point (but for UTF-8 it is possible that the length in code units will change).
|
inlineinherited |
Get a copy of the string in lowercase ASCII characters.
| R | - the desired string type, by default the same whose method was called. |
|
inlinestaticinherited |
Create a copy of the passed string in lowercase ASCII characters.
| f | - source string. |
| ...args | - parameters for initializing the allocator. |
|
inlineconstexprnoexceptinherited |
Get part of a string as "string chunk".
| from | - number of characters from the beginning of the line. If the string size is exceeded, it will return an empty string. |
| len | - the number of characters in the resulting "chunk". When going beyond the line, it will return everything up to the end of the line. |
|
inlinenoexceptinherited |
Conversion operator to a null-terminated C string.
|
inlineexplicitnoexceptinherited |
Get a pointer to the string buffer.
|
inlineinherited |
Convert to simple_str_nt.
|
inlineconstexprnoexceptinherited |
Convert itself to a "string chunk" that includes the entire string.
|
inlineconstexprnoexceptinherited |
Get part of a string as "simple_str".
| from | - number of characters from the beginning of the line. |
| len | - the number of characters in the resulting "chunk". |
If from is less than zero, then -from characters are counted from the end of the line towards the beginning. If len is less than or equal to zero, then count -len characters from the end of the line
|
inlineinherited |
Add a string expression to the end of the line.
| expr | - string expression. |
|
inlineinherited |
Add another line to the end of the line.
| other | - another line. |
|
inlineinherited |
Fills a string with the fill method from position zero.
| fillFunction | - string filling functor, size_t(K*, size_t). |
|
inlineinherited |
Calls the passed functor, passing a reference to itself.
| fillFunction | - фуктор void(my_type&). |
|
inlineinherited |
Fills a string with the fill method after the end of the string.
| fillFunction | - string filling functor, size_t(K*, size_t). |
|
inlineconstexprnoexceptinherited |
String comparison operator.
| other | - another line. |
|
inlinenoexceptinherited |
Comparison operator between a string and a string literal.
| other | is a string literal. |
|
inline |
Copy assignment operator from a string of the same type.
| other | - another string. |
|
inline |
String expression appending operator.
| expr | - a string expression materialized into the string buffer. |
If anything in a string expression refers to parts of the same string, then the result is undefined.
|
inlinenoexcept |
Assignment operator by moving from a string of the same type.
| other | - another string. |
|
inline |
Assignment operator from simple_str.
| other | - another string. |
|
inline |
String literal assignment operator.
| other | - string literal, copied to the string buffer. |
|
inlineconstexprnoexceptinherited |
Operator comparing strings for equality.
| other | - another line. |
|
inlinenoexceptinherited |
Operator for comparing a string and a string literal for equality.
| other | - string literal. |
|
inlineconstexprnoexceptinherited |
Copy the string to the specified buffer.
The method assumes that the size of the allocated buffer is sufficient for the entire line, i.e. length() was previously requested. Does not add \0.
| ptr | - pointer to the buffer. |
|
inlineconstexprnoexceptinherited |
Whether this string is the beginning of another string.
| text | - another string. |
|
inlineinherited |
Add a string expression to the beginning of a line.
| expr | - string expression. |
|
inlineinherited |
Add another line to the beginning of the line.
| other | - another string. |
|
inlineinherited |
Formats a string using sprintf.
| format | - format string. |
| ...args | - arguments for sprintf. |
Automatically increases the string buffer size if necessary.
|
inlineinherited |
Appends sprintf formatted output starting at the specified position.
| from | - starting position of adding. |
| format | - format string. |
| ...args | - arguments for sprintf. |
Automatically increases the string buffer size if necessary.
|
inlineinherited |
Remove part of a line.
| from | - the position from which to delete. |
| len | - length of the part to be deleted. |
|
inlineinherited |
Replace occurrences of a substring with another string.
| pattern | - the substring to search for. |
| repl | - replacement string. |
| offset | - the starting position for the search. |
| maxCount | - maximum number of replacements, 0 - no restrictions. |
|
inlineinherited |
Copy the source string, replacing occurrences of substrings with another string.
| f | - source string. |
| pattern | - the substring to search for. |
| repl | - replacement string. |
| offset | - the starting position for the search. |
| maxCount | - maximum number of replacements, 0 - no restrictions. |
|
inlineinherited |
Get a string expression that produces a string with replaced substrings given by string literals.
| pattern | - string literal, substring to be changed. |
| repl | - string literal, substring to change to. |
|
inlineinherited |
Get a copy of the string with occurrences of substrings replaced.
| R | - the desired string type, by default the same whose method was called. |
| pattern | - the substring to search for. |
| repl | - the string to replace with. |
| offset | - starting position of the search. |
| maxCount | - maximum number of replacements, 0 - no restrictions. |
|
inlinestaticinherited |
Create a copy of the passed string with substrings replaced.
| f | - source string. |
| pattern | - substring to be replaced. |
| repl | - the string to be replaced with. |
| offset | - starting position for searching substrings. |
| maxCount | - maximum number of replacements, 0 - no restrictions. |
| ...args | - parameters for initializing the allocator. |
|
inline |
Allocate a buffer large enough to hold newSize characters plus a terminating null.
| newSize | - new string size. |
The contents of the string are preserved. When increasing the buffer, the size allocated is no larger than the requested one. The string size is set to newSize.
|
inline |
Allocate a buffer large enough to hold newSize characters plus a terminating null.
| newSize | - new string size. |
The contents of the buffer are undefined and the old contents are not guaranteed to be retained. The string size is set to newSize.
|
inline |
Sets the size of the current string, allocating space if necessary.
| newSize | - new string size. |
The contents of the string are preserved. When increasing the buffer size, at least 2 times the old buffer size are allocated. The string size is set to newSize.
|
inlineinherited |
The size of the string in characters.
|
inlineinherited |
Split a string into substrings using a given delimiter.
| T | - container type for the result. |
| delimeter | - delimiter. |
| offset | - the position to start searching for the separator. |
|
inlineinherited |
Split a string into parts at a given delimiter, possibly applying a functor to each substring.
| T | - type of container for folding substrings. |
| delimeter | - substring delimiter. |
| beforeFunc | - a functor to apply to the found substrings, before placing them in the result. |
| offset | - the position to start searching for the separator. |
For each substring found, if the functor can accept it, the functor is called, and the substring is assigned to the result of the functor. Next, the substring tries to be added to the result, calling one of its methods - emplace_back, push_back, operator[]. If none of this method no, nothing is done, just calling the functor. operator[] tries to apply if the result can have a size via std::size and we do not exceed this size. At the same time, if the found substring turns out to match the entire string, the result is attempted place not a substring, but the entire string object, which allows, for example, to effectively copy sstring.
|
inherited |
Retrieve a Splitter object by the given splitter, which allows sequential get substrings using the next() method while is_done() is false.
| delimeter | - delimiter. |
|
inlineconstexprnoexceptinherited |
Whether the string begins with the given substring.
| prefix | - substring. |
|
inlineconstexprnoexceptinherited |
Whether the string begins with the given substring in a case-insensitive ASCII character.
| prefix | - substring. |
|
inlinenoexceptinherited |
Whether the string starts with the given substring, case-insensitive Unicode characters of the first plane (<0xFFFF).
| prefix | - substring. |
|
inlineinherited |
Get part of a string with an object of the same type to which the method is applied, similar to mid.
| from | - number of characters from the beginning of the line. If the string size is exceeded, it will return an empty string. |
| len | - the number of characters in the resulting "chunk". When going beyond the line, it will return everything up to the end of the line. |
|
inlineconstexprinherited |
Compare with C-string character by character.
| text | - another line. |
|
inlineinherited |
Get a substring. Works similarly to operator(), only the result is the same type as the method applied to.
| from | - number of characters from the beginning of the line. If less than zero, it is counted from the end of the line towards the beginning. |
| len | - the number of characters in the resulting "chunk". If less than or equal to zero, then count len ​​characters from the end of the line. |
|
inlinenoexceptinherited |
Convert string to double.
|
inlinenoexceptinherited |
Convert string in hex form to double.
|
inlinenoexceptinherited |
Convert a string to a number of the given type.
| T | - the desired number type. |
| CheckOverflow | - check for overflow. |
| Base | - the base of the number, from -1 to 36, except 1.
|
| SkipWs | - skip whitespace characters at the beginning of the line. All characters with ASCII codes <= 32 are skipped. |
| AllowSign | - whether the '+' sign is allowed before a number. |
|
inlineinherited |
Get simple_str_nt starting at the given character.
| from | - position of the starting character, default 0. |
|
inlinenoexceptinherited |
Convert itself to a "string chunk" that includes the entire string.
|
inlinenoexceptinherited |
Convert to std::string.
|
inlinenoexceptinherited |
Convert to std::string_view.
|
inlineinherited |
Remove whitespace from the beginning and end of a line.
|
inlineinherited |
Remove characters included in the passed string at the beginning and end of the line.
| pattern | - a string containing the characters to be removed. |
|
inlineinherited |
Remove characters included in a string literal at the beginning and end of the line.
| pattern | is a string literal containing the characters to be removed. |
|
inlineinherited |
Remove whitespace at the beginning of a line.
|
inlineinherited |
Remove characters included in the passed string at the beginning of the line.
| pattern | - a string containing the characters to be removed. |
|
inlineinherited |
Remove characters included in a string literal at the beginning of the line.
| pattern | is a string literal containing the characters to be removed. |
|
inlineinherited |
Remove characters included in the passed string, as well as whitespace, at the beginning of the string.
| pattern | - a string containing the characters to be removed. |
|
inlineinherited |
Remove characters included in a string literal, as well as whitespace, at the beginning of a line.
| pattern | is a string literal containing the characters to be removed. |
|
inlineinherited |
Remove whitespace from the end of a line.
|
inlineinherited |
Remove characters included in the passed string from the end of the string.
| pattern | - a string containing the characters to be removed. |
|
inlineinherited |
Remove characters included in a string literal at the end of the line.
| pattern | is a string literal containing the characters to be removed. |
|
inlineinherited |
Remove characters included in the passed string, as well as whitespace at the end of the string.
| pattern | - a string containing the characters to be removed. |
|
inlineinherited |
Remove characters included in a string literal, as well as whitespace, at the end of a string.
| pattern | is a string literal containing the characters to be removed. |
|
inlineinherited |
Remove characters included in the passed string, as well as whitespace characters, at the beginning and end of the string.
| pattern | - a string containing the characters to be removed. |
|
inlineinherited |
Remove characters included in a string literal, as well as whitespace, at the beginning and end of the string.
| pattern | is a string literal containing the characters to be removed. |
|
inlineinherited |
Get a string with whitespace removed on the left and right.
| R | - desired string type, default simple_str. |
|
inlineinherited |
Get a string with characters specified by another string removed, left and right.
| R | - desired string type, default simple_str. |
| pattern | - a string specifying the characters that will be trimmed. |
|
inlineinherited |
Get a string with the characters specified by the string literal removed from the left and right.
| R | - desired string type, default simple_str. |
| pattern | is a string literal specifying the characters that will be trimmed. |
|
inlineinherited |
Get a string with whitespace removed on the left.
| R | - desired string type, default simple_str. |
|
inlineinherited |
Get a string with characters specified by another string removed from the left.
| R | - desired string type, default simple_str. |
| pattern | - a string specifying the characters that will be trimmed. |
|
inlineinherited |
Get a string with the characters specified by the string literal removed from the left.
| R | - desired string type, default simple_str. |
| pattern | is a string literal specifying the characters that will be trimmed. |
|
inlineinherited |
Get a string, removing characters specified by another string, as well as whitespace characters, left.
| R | - desired string type, default simple_str. |
| pattern | - a string specifying the characters that will be trimmed. |
|
inlineinherited |
Get a string with the characters specified by the string literal removed, as well as whitespace characters, left.
| R | - desired string type, default simple_str. |
| pattern | is a string literal specifying the characters that will be trimmed. |
|
inlineinherited |
Get a string with whitespace removed on the right.
| R | - desired string type, default simple_str. |
|
inlineinherited |
Get a string with characters specified by another string removed to the right.
| R | - desired string type, default simple_str. |
| pattern | - a string specifying the characters that will be trimmed. |
|
inlineinherited |
Get a string with the characters specified by the string literal removed from the right.
| R | - desired string type, default simple_str. |
| pattern | is a string literal specifying the characters that will be trimmed. |
|
inlineinherited |
Get a string, removing characters specified by another string, as well as whitespace characters, right.
| R | - desired string type, default simple_str. |
| pattern | - a string specifying the characters that will be trimmed. |
|
inlineinherited |
Get a string with the characters specified by the string literal removed, as well as whitespace characters, right.
| R | - desired string type, default simple_str. |
| pattern | is a string literal specifying the characters that will be trimmed. |
|
inlineinherited |
Get a string, removing characters specified by another string, as well as whitespace characters, left and right.
| R | - desired string type, default simple_str. |
| pattern | - a string specifying the characters that will be trimmed. |
|
inlineinherited |
Get a string with the characters specified by the string literal removed, as well as whitespace characters, left and right.
| R | - desired string type, default simple_str. |
| pattern | is a string literal specifying the characters that will be trimmed. |
|
inlineinherited |
Convert first plane characters (<0xFFFF) to uppercase Unicode.
Case is changed by simplified tables, where one code_point is always changed to one code_point (but for UTF-8 it is possible that the length in code units will change).
|
inlineinherited |
Convert ASCII characters to uppercase.
|
inlineinherited |
Get a copy of the string in upper case Unicode characters of the first plane (<0xFFFF).
| R | - the desired string type, by default the same whose method was called. |
|
inlinestaticinherited |
Create a copy of the passed string in uppercase Unicode characters of the first plane (<0xFFFF).
| f | - source string. |
| ...args | - parameters for initializing the allocator. |
Case is changed by simplified tables, where one code_point is always changed to one code_point (but for UTF-8 it is possible that the length in code units will change).
|
inlineinherited |
Get a copy of the string in uppercase ASCII characters.
| R | - the desired string type, by default the same whose method was called. |
|
inlinestaticinherited |
Create a string copy of the passed in uppercase ASCII characters.
| f | - source string. |
| ...args | - parameters for initializing the allocator. |
|
inlineinherited |
Formats a string using std::vformat.
| format | - format string. |
| ...args | - arguments for std::vformat. |
Automatically increases the string buffer size if necessary.
|
inlineinherited |
Appends std::vformat formatted output starting at the specified position.
| from | - starting position of adding. |
| max_write | - the maximum number of characters to write. |
| format | - format string. |
| ...args | - arguments for std::vformat. |
Automatically increases the string buffer size if necessary.
|
inlineinherited |
Formats a string using std::vformat up to the specified size.
| max_write | - the maximum number of characters to write. |
| format | - format string. |
| ...args | - arguments for std::vformat. |
Automatically increases the string buffer size if necessary.
|
inlineinherited |
Call a functor with a string and passed arguments.
| fillFunction | - a functor that takes a string reference as its first parameter. |
| ...args | - arguments passed to the functor. |