Skip to content

Commit 3292102

Browse files
committed
OrcLib: Text: Encoding: add ToString/ToWString
1 parent f4e5171 commit 3292102

File tree

3 files changed

+26
-7
lines changed

3 files changed

+26
-7
lines changed

src/OrcCommand/Log/UtilitiesLoggerConfiguration.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -682,7 +682,7 @@ void FileConfigurationToOptions(const UtilitiesLoggerConfiguration::FileOutput&
682682

683683
if (output.encoding)
684684
{
685-
options.emplace_back(kEncoding, ToString(*output.encoding));
685+
options.emplace_back(kEncoding, ToWString(*output.encoding));
686686
}
687687

688688
if (output.disposition)

src/OrcLib/Text/Encoding.cpp

+22-5
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,15 @@
1212

1313
namespace Orc {
1414

15-
constexpr std::wstring_view kUtf8 = L"utf-8";
16-
constexpr std::wstring_view kUtf16 = L"utf-16";
17-
constexpr std::wstring_view kUnknown = L"unknown";
15+
constexpr std::string_view kUtf8 = "utf-8";
16+
constexpr std::string_view kUtf16 = "utf-16";
17+
constexpr std::string_view kUnknown = "unknown";
1818

19-
std::wstring_view ToString(Text::Encoding encoding)
19+
constexpr std::wstring_view kUtf8W = L"utf-8";
20+
constexpr std::wstring_view kUtf16W = L"utf-16";
21+
constexpr std::wstring_view kUnknownW = L"unknown";
22+
23+
std::string_view ToString(Text::Encoding encoding)
2024
{
2125
switch (encoding)
2226
{
@@ -29,10 +33,23 @@ std::wstring_view ToString(Text::Encoding encoding)
2933
}
3034
}
3135

36+
std::wstring_view ToWString(Text::Encoding encoding)
37+
{
38+
switch (encoding)
39+
{
40+
case Text::Encoding::Utf8:
41+
return kUtf8W;
42+
case Text::Encoding::Utf16:
43+
return kUtf16W;
44+
default:
45+
return kUnknownW;
46+
}
47+
}
48+
3249
Result<Text::Encoding> ToEncoding(const std::wstring& disposition)
3350
{
3451
const std::map<std::wstring_view, Text::Encoding> map = {
35-
{kUtf8, Text::Encoding::Utf8}, {kUtf16, Text::Encoding::Utf16}};
52+
{kUtf8W, Text::Encoding::Utf8}, {kUtf16W, Text::Encoding::Utf16}};
3653

3754
auto it = map.find(disposition);
3855
if (it == std::cend(map))

src/OrcLib/Text/Encoding.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ enum class Encoding
2525

2626
} // namespace Text
2727

28-
std::wstring_view ToString(Text::Encoding encoding);
28+
std::string_view ToString(Text::Encoding encoding);
29+
std::wstring_view ToWString(Text::Encoding encoding);
30+
2931
Result<Text::Encoding> ToEncoding(const std::wstring& encoding);
3032

3133
} // namespace Orc

0 commit comments

Comments
 (0)