From 4ac58d91bac0cebe2bdf5e11b9d63b9c41e6b39e Mon Sep 17 00:00:00 2001 From: crupest Date: Mon, 15 Nov 2021 16:26:25 +0800 Subject: ... --- include/cru/common/String.hpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'include/cru/common/String.hpp') 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& 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& 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); -- cgit v1.2.3