diff options
Diffstat (limited to 'source/core')
| -rw-r--r-- | source/core/slang-string.cpp | 17 | ||||
| -rw-r--r-- | source/core/slang-string.h | 2 |
2 files changed, 19 insertions, 0 deletions
diff --git a/source/core/slang-string.cpp b/source/core/slang-string.cpp index 648249b2c..28acde6ac 100644 --- a/source/core/slang-string.cpp +++ b/source/core/slang-string.cpp @@ -45,6 +45,23 @@ namespace Slang // UnownedStringSlice + bool UnownedStringSlice::startsWith(UnownedStringSlice const& other) const + { + UInt thisSize = size(); + UInt otherSize = other.size(); + + if (otherSize > thisSize) + return false; + + return UnownedStringSlice(begin(), begin() + otherSize) == other; + } + + bool UnownedStringSlice::startsWith(char const* str) const + { + return startsWith(UnownedTerminatedStringSlice(str)); + } + + bool UnownedStringSlice::endsWith(UnownedStringSlice const& other) const { UInt thisSize = size(); diff --git a/source/core/slang-string.h b/source/core/slang-string.h index 435e2b29b..5a20d8b75 100644 --- a/source/core/slang-string.h +++ b/source/core/slang-string.h @@ -133,6 +133,8 @@ namespace Slang return !(*this == other); } + bool startsWith(UnownedStringSlice const& other) const; + bool startsWith(char const* str) const; bool endsWith(UnownedStringSlice const& other) const; bool endsWith(char const* str) const; |
