From ab3a5e1df7c5cc430b6f4a3cf4516a1f734bb2b2 Mon Sep 17 00:00:00 2001 From: npwoods Date: Thu, 30 Jun 2022 03:25:50 -0400 Subject: Created a CBM DOS file system driver and added it to the 1541 implementation (#9922) --- src/lib/util/corestr.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/lib/util/corestr.h') 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 #include +#include #include @@ -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 +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 +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); -- cgit v1.2.3-70-g09d2