From 986f0eb148fdffd4d7d7a9df7c04866cd41f8cef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Sun, 1 Oct 2023 21:16:06 -0400 Subject: [PATCH] string utils: cleanup Change-Id: I6940503526bf42874047dc3802a33f955aa972ce --- include/string_utils.h | 51 ------------------------------------------ src/string_utils.cpp | 27 ---------------------- 2 files changed, 78 deletions(-) diff --git a/include/string_utils.h b/include/string_utils.h index 37fb1ac..587cfb6 100644 --- a/include/string_utils.h +++ b/include/string_utils.h @@ -163,55 +163,4 @@ std::vector<unsigned> split_string_to_unsigned(std::string_view s, char sep); void string_replace(std::string& str, const std::string& from, const std::string& to); -std::string_view string_remove_suffix(std::string_view str, char separator); - -std::string string_join(const std::set<std::string>& set, std::string_view separator = "/"); - -std::set<std::string> string_split_set(std::string& str, std::string_view separator = "/"); - } // namespace dhtnet - -/* -// Add string operators missing from standard -// see https://groups.google.com/a/isocpp.org/forum/#!topic/std-proposals/1RcShRhrmRc -namespace std { -inline string -operator+(const string& s, const string_view& sv) -{ - return dhtnet::concat(s, sv); -} -inline string -operator+(const string_view& sv, const string& s) -{ - return dhtnet::concat(sv, s); -} -using svmatch = match_results<string_view::const_iterator>; -using svsub_match = sub_match<string_view::const_iterator>; -constexpr string_view svsub_match_view(const svsub_match& submatch) noexcept { - return string_view(&*submatch.first, submatch.second - submatch.first); -} -inline bool -regex_match(string_view sv, - svmatch& m, - const regex& e, - regex_constants::match_flag_type flags = regex_constants::match_default) -{ - return regex_match(sv.begin(), sv.end(), m, e, flags); -} -inline bool -regex_match(string_view sv, - const regex& e, - regex_constants::match_flag_type flags = regex_constants::match_default) -{ - return regex_match(sv.begin(), sv.end(), e, flags); -} -inline bool -regex_search(string_view sv, - svmatch& m, - const regex& e, - regex_constants::match_flag_type flags = regex_constants::match_default) -{ - return regex_search(sv.begin(), sv.end(), m, e, flags); -} -} // namespace std -*/ diff --git a/src/string_utils.cpp b/src/string_utils.cpp index d970011..1c94abc 100644 --- a/src/string_utils.cpp +++ b/src/string_utils.cpp @@ -132,31 +132,4 @@ string_replace(std::string& str, const std::string& from, const std::string& to) } } -std::string_view -string_remove_suffix(std::string_view str, char separator) -{ - auto it = str.find(separator); - if (it != std::string_view::npos) - str = str.substr(0, it); - return str; -} - -std::string -string_join(const std::set<std::string>& set, std::string_view separator) -{ - return fmt::format("{}", fmt::join(set, separator)); -} - -std::set<std::string> -string_split_set(std::string& str, std::string_view separator) -{ - std::set<std::string> output; - for (auto first = str.data(), second = str.data(), last = first + str.size(); second != last && first != last; first = second + 1) { - second = std::find_first_of(first, last, std::cbegin(separator), std::cend(separator)); - if (first != second) - output.emplace(first, second - first); - } - return output; -} - } // namespace dhtnet -- GitLab