Immutable owning string class. More...
#include <sstring.h>
Public Member Functions | |
| template<typename... Args> requires (sizeof...(Args) > 0 && std::is_constructible_v<Allocator, Args...>) | |
| sstring (Args &&... args) | |
| Constructor for the empty string. | |
| ~sstring () | |
| String destructor. | |
| sstring (const my_type &other) noexcept | |
| String copy constructor. | |
| sstring (my_type &&other) noexcept | |
| Move constructor. | |
| template<size_t N> | |
| sstring (lstring< K, N, true, Allocator > &&src) | |
| A move constructor from lstring with an sstring-compatible external buffer. | |
| template<typename T, size_t N = const_lit_for<K, T>::Count, typename... Args> requires std::is_constructible_v<allocator_t, Args...> | |
| sstring (T &&s, Args &&... args) | |
| Initialize from a string literal. | |
| my_type & | operator= (my_type other) noexcept |
| Assignment operator to another string of the same type. | |
| my_type & | operator= (simple_str< K > other) |
| Assignment operator to another string of a different type. | |
| template<typename T, size_t N = const_lit_for<K, T>::Count> | |
| my_type & | operator= (T &&other) |
| String literal assignment operator. | |
| template<size_t N, bool forShared, typename A> | |
| my_type & | operator= (const lstring< K, N, forShared, A > &other) |
| Assignment operator to another string of type lstring. | |
| template<size_t N> | |
| my_type & | operator= (lstring< K, N, true, Allocator > &&other) |
| Assignment operator to a movable string of type lstring with a compatible buffer. | |
| my_type & | operator= (const StrExprForType< K > auto &expr) |
| String expression assignment operator. | |
| my_type & | make_empty () noexcept |
| Make the string empty. | |
| const K * | symbols () const noexcept |
| Pointer to characters in the string. | |
| size_t | length () const noexcept |
| Line length. | |
| bool | is_empty () const noexcept |
| Is the string empty? | |
| bool | empty () const noexcept |
| Whether the string is empty, for compatibility with std::string. | |
| 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 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 | |
| template<typename... T> | |
| static my_type | printf (const K *pattern, T &&... args) |
Get a string formatted with std::sprintf. | |
| template<typename... T> | |
| static my_type | format (const FmtString< K, T... > &fmtString, T &&... args) |
Get a string formatted with std::format. | |
| template<typename... T> | |
| static my_type | vformat (simple_str< K > fmtString, T &&... args) |
Get a string formatted with std::vformat. | |
| 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. | |
Immutable owning string class.
| K | - character type. |
| Allocator | - allocator type. |
"shared" string. Class with small string optimization plus a shared immutable string buffer. Since the string buffer in this class is immutable, then: Firstly, there is no need to store the size of the allocated buffer; we will not change it anyway. Secondly, another type of string appears - a string initialized with a string literal. For it, we simply save a pointer to symbols and do not count references. Thus, initializing a string object in a program with a literal does not copy anything anywhere - neither into itself nor into dynamic memory, and does not cost more than initialization a raw pointer to a string, and even more optimal, since it also immediately substitutes the size, but does not calculate it at runtime.
In the case of a shared buffer, the size of the string is still stored not in the shared buffer, but in each object. Because of SSO, there is still enough space, and you will have to go to memory less for the length. For example, calculating the sum of the lengths of strings in a vector will only go through the memory in the vector.
Sizes for x64:
|
inline |
Constructor for the empty string.
| ...args | - parameters for initializing the allocator. |
|
inlinenoexcept |
String copy constructor.
| other | - the string to be copied. |
|
inlinenoexcept |
Move constructor.
| other | - the string to be moved. |
|
inline |
A move constructor from lstring with an sstring-compatible external buffer.
| src | - the string to be moved. |
If the characters in lstring are in an external allocated buffer, we just take the pointer to the buffer, it will suit us.
|
inline |
Initialize from a string literal.
| s | - string literal. |
| ...args | - parameters for initializing the allocator. |
In this case, we simply remember the pointer to the string and its length.
|
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.
|
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. |
|
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. |
|
inlinestatic |
Get a string formatted with std::format.
| fmtString | - constant format string. |
| ...args | - arguments for std::format. |
|
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). |
|
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 |
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. |
|
inlinenoexcept |
Make the string empty.
|
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.
|
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
|
inlineconstexprnoexceptinherited |
String comparison operator.
| other | - another line. |
|
inlinenoexceptinherited |
Comparison operator between a string and a string literal.
| other | is a string literal. |
|
inline |
Assignment operator to another string of type lstring.
| other | - another string. |
|
inline |
String expression assignment operator.
| expr | - string expression. |
In a string expression, it is possible to refer to parts of the same string, since a copy is created first.
|
inline |
Assignment operator to a movable string of type lstring with a compatible buffer.
| other | - another string. |
|
inlinenoexcept |
Assignment operator to another string of the same type.
| other | - another string. |
|
inline |
Assignment operator to another string of a different type.
| other | - another string. |
|
inline |
String literal assignment operator.
| other | - string character. |
|
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. |
|
inlinestatic |
Get a string formatted with std::sprintf.
| pattern | - format string. |
| ...args | - arguments for sprintf. |
On Windows, posix positional arguments are supported, using _sprintf_p.
|
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. |
|
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 |
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 |
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. |
|
inlinestatic |
Get a string formatted with std::vformat.
| fmtString | - format string. |
| ...args | - arguments for std::vformat. |