diff options
Diffstat (limited to 'Firestore/core/src/firebase/firestore/util')
-rw-r--r-- | Firestore/core/src/firebase/firestore/util/string_apple.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Firestore/core/src/firebase/firestore/util/string_apple.h b/Firestore/core/src/firebase/firestore/util/string_apple.h index fe2a487..3f6b814 100644 --- a/Firestore/core/src/firebase/firestore/util/string_apple.h +++ b/Firestore/core/src/firebase/firestore/util/string_apple.h @@ -42,7 +42,16 @@ inline NSString* WrapNSStringNoCopy(const absl::string_view str) { return WrapNSStringNoCopy(str.data()); } -// Creates an absl::string_view wrapper for the contents of the given NSString. +// Translates a string_view string to the equivalent NSString by making a copy. +inline NSString* WrapNSString(const absl::string_view str) { + return [[NSString alloc] + initWithBytes:const_cast<void*>(static_cast<const void*>(str.data())) + length:str.length() + encoding:NSUTF8StringEncoding]; +} + +// Creates an absl::string_view wrapper for the contents of the given +// NSString. inline absl::string_view MakeStringView(NSString* str) { return absl::string_view( [str UTF8String], [str lengthOfBytesUsingEncoding:NSUTF8StringEncoding]); |