57 std::optional<std::pair<std::string_view, std::string_view>>
rsplit_once(
73 {
o <<
v } -> std::same_as<std::ostream&>;
77 template<OutputStreamable T>
82 return std::move(
ss).str();
87 template<std::ranges::input_range R>
98 return std::move(
ss).str();
Definition string_helpers.h:72
Definition custom_decoration_generator.h:5
std::string_view substring_after_last(std::string_view sv, std::string_view::value_type delimiter)
std::optional< std::pair< std::string_view, std::string_view > > rsplit_once(std::string_view sv, std::string_view::value_type delimiter)
bool is_valid_identifier(std::string_view sv)
bool is_string_case_insensitive_greater_than(std::string_view a, std::string_view b)
std::optional< uint8_t > try_parse_hex_chars_as_byte(char, char)
std::string_view strip_whitespace(std::string_view sv)
constexpr U to(T &&value)
Definition conversion.h:56
std::string join(R &&r, std::string_view delimiter)
Definition string_helpers.h:89
std::optional< float > from_chars_strip_whitespace(std::string_view sv)
std::string replace(std::string_view str, std::string_view from, std::string_view to)
std::string truncate_with_ellipsis(std::string_view sv, size_t max_length)
bool contains_case_insensitive(std::string_view sv, std::string_view substr)
std::pair< char, char > to_hex_chars(uint8_t)
bool is_equal_case_insensitive(std::string_view a, std::string_view b)
std::string stream_to_string(const T &v)
Definition string_helpers.h:78