|
template<std::size_t DynamicExpandCapacity = HYBSTR_DYNAMIC_EXPAND_CAPACITY> |
constexpr auto | string () |
| Creates an empty hybrid string.
|
template<std::size_t DynamicExpandCapacity = HYBSTR_DYNAMIC_EXPAND_CAPACITY, std::size_t N> |
constexpr auto | string (const char(&str)[N]) |
| Creates a hybrid string from a string literal.
|
template<std::size_t ViewSize = HYBSTR_DYNAMIC_EXPAND_CAPACITY, std::size_t DynamicExpandCapacity = HYBSTR_DYNAMIC_EXPAND_CAPACITY> |
constexpr auto | string (std::string_view sv) noexcept |
| Creates a hybrid string from a std::string_view.
|
template<std::size_t RangeSize = HYBSTR_DYNAMIC_EXPAND_CAPACITY, std::size_t DynamicExpandCapacity = HYBSTR_DYNAMIC_EXPAND_CAPACITY, typename _Iter> |
constexpr auto | string (_Iter start, _Iter end) noexcept |
| Creates a hybrid string from an iterator range.
|
template<std::size_t N> |
| string_impl (const char(&)[N]) -> string_impl< N > |
template<std::size_t B1, std::size_t DynamicExpandCapacity1, std::size_t B2, std::size_t DynamicExpandCapacity2> |
constexpr auto | operator+ (const string_impl< B1, DynamicExpandCapacity1 > &s1, const string_impl< B2, DynamicExpandCapacity2 > &s2) noexcept |
| Concatenates two hybrid strings.
|
template<std::size_t BufferCapacity, std::size_t DynamicExpandCapacity, std::size_t N> |
constexpr auto | operator+ (const string_impl< BufferCapacity, DynamicExpandCapacity > &s, const char(&str)[N]) noexcept |
| Concatenates a hybrid string with a C-style string literal.
|
template<std::size_t BufferCapacity, std::size_t DynamicExpandCapacity, std::size_t N> |
constexpr auto | operator+ (const char(&str)[N], const string_impl< BufferCapacity, DynamicExpandCapacity > &s) noexcept |
| Concatenates a C-style string literal with a hybrid string.
|
template<std::size_t BufferCapacity, std::size_t DynamicExpandCapacity> |
constexpr auto | operator+ (const string_impl< BufferCapacity, DynamicExpandCapacity > &s, char c) noexcept |
| Concatenates a hybrid string with a char.
|
template<std::size_t BufferCapacity, std::size_t DynamicExpandCapacity> |
constexpr auto | operator+ (char c, const string_impl< BufferCapacity, DynamicExpandCapacity > &s) noexcept |
| Concatenates a hybrid string with a char.
|
template<std::size_t BufferCapacity, std::size_t DynamicExpandCapacity> |
constexpr auto | operator+ (const string_impl< BufferCapacity, DynamicExpandCapacity > &s, std::string_view sv) noexcept |
| Concatenates a hybrid string with a std::string_view.
|
template<std::size_t BufferCapacity, std::size_t DynamicExpandCapacity> |
constexpr auto | operator+ (std::string_view sv, const string_impl< BufferCapacity, DynamicExpandCapacity > &s) noexcept |
| Concatenates a std::string_view with a hybrid string.
|
template<std::size_t B1, std::size_t D1, std::size_t B2, std::size_t D2> |
constexpr bool | operator== (const string_impl< B1, D1 > &s1, const string_impl< B2, D2 > &s2) noexcept |
| Equality comparison for two hybrid strings.
|
template<std::size_t B1, std::size_t D1, std::size_t B2, std::size_t D2> |
constexpr bool | operator!= (const string_impl< B1, D1 > &s1, const string_impl< B2, D2 > &s2) noexcept |
| Inequality comparison for two hybrid strings.
|
template<std::size_t B1, std::size_t D1, std::size_t B2, std::size_t D2> |
constexpr auto | operator<=> (const string_impl< B1, D1 > &s1, const string_impl< B2, D2 > &s2) noexcept |
| Lexicographical three-way comparison for hybrid strings. C++20 or above.
|
template<std::size_t B1, std::size_t D1, std::size_t B2, std::size_t D2> |
constexpr bool | operator< (const string_impl< B1, D1 > &s1, const string_impl< B2, D2 > &s2) noexcept |
| Less than comparison for two hybrid strings. C++17.
|
template<std::size_t B1, std::size_t D1, std::size_t B2, std::size_t D2> |
constexpr bool | operator<= (const string_impl< B1, D1 > &s1, const string_impl< B2, D2 > &s2) noexcept |
| Less than or equal to comparison for two hybrid strings.
|
template<std::size_t B1, std::size_t D1, std::size_t B2, std::size_t D2> |
constexpr bool | operator> (const string_impl< B1, D1 > &s1, const string_impl< B2, D2 > &s2) noexcept |
| Greater than comparison for two hybrid strings.
|
template<std::size_t B1, std::size_t D1, std::size_t B2, std::size_t D2> |
constexpr bool | operator>= (const string_impl< B1, D1 > &s1, const string_impl< B2, D2 > &s2) noexcept |
| Greater than or equal to comparison for two hybrid strings.
|
template<auto str> |
consteval auto | fit_string () noexcept |
| Adjusts the compile-time buffer size to exactly fit the string content. C++20 or above.
|