diff options
Diffstat (limited to 'include/cru/common/String.hpp')
-rw-r--r-- | include/cru/common/String.hpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/cru/common/String.hpp b/include/cru/common/String.hpp index 9996f617..264a44ff 100644 --- a/include/cru/common/String.hpp +++ b/include/cru/common/String.hpp @@ -395,6 +395,21 @@ inline bool Utf16IsValidInsertPosition(StringView str, Index position) { return Utf16IsValidInsertPosition(str.data(), str.size(), position); } +// Return position after the character making predicate returns true or 0 if no +// character doing so. +inline Index CRU_BASE_API +Utf16BackwardUntil(StringView str, Index position, + const std::function<bool(CodePoint)>& predicate) { + return Utf16BackwardUntil(str.data(), str.size(), position, predicate); +} +// Return position before the character making predicate returns true or +// str.size() if no character doing so. +inline Index CRU_BASE_API +Utf16ForwardUntil(StringView str, Index position, + const std::function<bool(CodePoint)>& predicate) { + return Utf16ForwardUntil(str.data(), str.size(), position, predicate); +} + inline Index Utf16PreviousWord(StringView str, Index position, bool* is_space = nullptr) { return Utf16PreviousWord(str.data(), str.size(), position, is_space); |