diff options
author | 2022-06-30 03:25:50 -0400 | |
---|---|---|
committer | 2022-06-30 09:25:50 +0200 | |
commit | ab3a5e1df7c5cc430b6f4a3cf4516a1f734bb2b2 (patch) | |
tree | 7a59fd392959cd3e8a70de97c16a03eb21a2bca6 /src/lib/util/corestr.h | |
parent | 7e123ca663943617d3d3169582964b8fee3d39ec (diff) |
Created a CBM DOS file system driver and added it to the 1541 implementation (#9922)
Diffstat (limited to 'src/lib/util/corestr.h')
-rw-r--r-- | src/lib/util/corestr.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/lib/util/corestr.h b/src/lib/util/corestr.h index 81b04eeebaf..8caf014509b 100644 --- a/src/lib/util/corestr.h +++ b/src/lib/util/corestr.h @@ -16,6 +16,7 @@ #include <string> #include <string_view> +#include <algorithm> #include <cstring> @@ -51,6 +52,26 @@ int core_strnicmp(const char *s1, const char *s2, size_t n); int core_strwildcmp(const char *sp1, const char *sp2); bool core_iswildstr(const char *sp); +/* trim functions */ +template<typename TPred> +std::string_view strtrimleft(std::string_view str, TPred pred) +{ + std::string_view::iterator start = std::find_if( + str.begin(), + str.end(), + pred); + return str.substr(start - str.begin(), str.end() - start); +} + +template<typename TPred> +std::string_view strtrimright(std::string_view str, TPred pred) +{ + std::string_view::reverse_iterator end = std::find_if( + str.rbegin(), + str.rend(), + pred); + return str.substr(0, str.size() - (end - str.rbegin())); +} void strdelchr(std::string& str, char chr); void strreplacechr(std::string& str, char ch, char newch); |