From d868d7b0d463ede80b761f87f10d4e25f52989c3 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Sun, 15 Jun 2025 01:02:30 +0800 Subject: Remove some files of OSX. Symbol Point is conflict and needs to be fixed. --- src/base/String.cpp | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'src/base/String.cpp') diff --git a/src/base/String.cpp b/src/base/String.cpp index 47b64373..40d0b766 100644 --- a/src/base/String.cpp +++ b/src/base/String.cpp @@ -12,7 +12,10 @@ #include #include #include -#include + +#ifdef CRU_PLATFORM_OSX +#include +#endif namespace cru { template @@ -669,4 +672,29 @@ String ToUpper(StringView s) { for (auto c : s) result.push_back(ToUpper(c)); return result; } + + +#ifdef CRU_PLATFORM_OSX +CFWrapper StringView::ToCFStringRef() const { + return CFWrapper(CFStringCreateWithBytes( + nullptr, reinterpret_cast(this->data()), + this->size() * sizeof(std::uint16_t), kCFStringEncodingUTF16, false)); +} + +CFWrapper String::ToCFStringRef() const { + return StringView(*this).ToCFStringRef(); +} + +String String::FromCFStringRef(CFStringRef string) { + auto length = CFStringGetLength(string); + + String result; + + for (int i = 0; i < length; i++) { + result.AppendCodePoint(CFStringGetCharacterAtIndex(string, i)); + } + + return result; +} +#endif } // namespace cru -- cgit v1.2.3