aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/charset/wide.h
diff options
context:
space:
mode:
authorsereglond <sereglond@yandex-team.ru>2022-02-10 16:47:46 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:47:46 +0300
commiteb3d925534734c808602b31b38b953677f0a279f (patch)
tree4222ef8dc375ee9f30b68a004ee42a0845e005b6 /library/cpp/charset/wide.h
parent4c8065245df3ea26b7757bcb1f8218df287f9148 (diff)
downloadydb-eb3d925534734c808602b31b38b953677f0a279f.tar.gz
Restoring authorship annotation for <sereglond@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/charset/wide.h')
-rw-r--r--library/cpp/charset/wide.h72
1 files changed, 36 insertions, 36 deletions
diff --git a/library/cpp/charset/wide.h b/library/cpp/charset/wide.h
index 32d30e849e9..02f95414a2e 100644
--- a/library/cpp/charset/wide.h
+++ b/library/cpp/charset/wide.h
@@ -12,7 +12,7 @@
#include <util/generic/yexception.h>
#include <util/memory/tempbuf.h>
#include <util/system/yassert.h>
-
+
//! converts text from unicode to yandex codepage
//! @attention destination buffer must be long enough to fit all characters of the text
//! @note @c dest buffer must fit at least @c len number of characters
@@ -20,15 +20,15 @@ template <typename TCharType>
inline size_t WideToChar(const TCharType* text, size_t len, char* dest, ECharset enc) {
Y_ASSERT(SingleByteCodepage(enc));
- const char* start = dest;
-
+ const char* start = dest;
+
const Encoder* const encoder = &EncoderByCharset(enc);
const TCharType* const last = text + len;
for (const TCharType* cur = text; cur != last; ++dest) {
- *dest = encoder->Tr(ReadSymbolAndAdvance(cur, last));
+ *dest = encoder->Tr(ReadSymbolAndAdvance(cur, last));
}
-
- return dest - start;
+
+ return dest - start;
}
//! converts text to unicode using a codepage object
@@ -224,24 +224,24 @@ inline TStringBuf WideToChar(const TWtringBuf src, TString& dst, ECharset encodi
//! calls either to @c WideToUTF8 or @c WideToChar depending on the encoding type
inline TString WideToChar(const wchar16* text, size_t len, ECharset enc) {
- if (NCodepagePrivate::NativeCodepage(enc)) {
- if (enc == CODES_UTF8)
- return WideToUTF8(text, len);
-
+ if (NCodepagePrivate::NativeCodepage(enc)) {
+ if (enc == CODES_UTF8)
+ return WideToUTF8(text, len);
+
TString s = TString::Uninitialized(len);
- s.remove(WideToChar(text, len, s.begin(), enc));
-
+ s.remove(WideToChar(text, len, s.begin(), enc));
+
return s;
}
-
+
TString s = TString::Uninitialized(len * 3);
-
- size_t read = 0;
- size_t written = 0;
- NICONVPrivate::RecodeFromUnicode(enc, text, s.begin(), len, s.size(), read, written);
- s.remove(written);
-
- return s;
+
+ size_t read = 0;
+ size_t written = 0;
+ NICONVPrivate::RecodeFromUnicode(enc, text, s.begin(), len, s.size(), read, written);
+ s.remove(written);
+
+ return s;
}
inline TUtf16String CharToWide(const char* text, size_t len, const CodePage& cp) {
@@ -253,21 +253,21 @@ inline TUtf16String CharToWide(const char* text, size_t len, const CodePage& cp)
//! calls either to @c UTF8ToWide or @c CharToWide depending on the encoding type
template <bool robust>
inline TUtf16String CharToWide(const char* text, size_t len, ECharset enc) {
- if (NCodepagePrivate::NativeCodepage(enc)) {
- if (enc == CODES_UTF8)
+ if (NCodepagePrivate::NativeCodepage(enc)) {
+ if (enc == CODES_UTF8)
return UTF8ToWide<robust>(text, len);
-
+
return CharToWide(text, len, *CodePageByCharset(enc));
- }
-
+ }
+
TUtf16String w = TUtf16String::Uninitialized(len * 2);
-
- size_t read = 0;
- size_t written = 0;
- NICONVPrivate::RecodeToUnicode(enc, text, w.begin(), len, len, read, written);
- w.remove(written);
-
- return w;
+
+ size_t read = 0;
+ size_t written = 0;
+ NICONVPrivate::RecodeToUnicode(enc, text, w.begin(), len, len, read, written);
+ w.remove(written);
+
+ return w;
}
//! converts text from UTF8 to unicode, if conversion fails it uses codepage to convert the text
@@ -286,8 +286,8 @@ inline TUtf16String UTF8ToWide(const char* text, size_t len, const CodePage& cp)
inline TString WideToChar(const TWtringBuf w, ECharset enc) {
return WideToChar(w.data(), w.size(), enc);
-}
-
+}
+
inline TUtf16String CharToWide(const TStringBuf s, ECharset enc) {
return CharToWide<false>(s.data(), s.size(), enc);
}
@@ -295,8 +295,8 @@ inline TUtf16String CharToWide(const TStringBuf s, ECharset enc) {
template <bool robust>
inline TUtf16String CharToWide(const TStringBuf s, ECharset enc) {
return CharToWide<robust>(s.data(), s.size(), enc);
-}
-
+}
+
inline TUtf16String CharToWide(const TStringBuf s, const CodePage& cp) {
return CharToWide(s.data(), s.size(), cp);
}