ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/s10k/CommonLibs/plog/Converters/NativeEOLConverter.h
Revision: 1073
Committed: Thu Oct 5 17:48:32 2017 UTC (8 years ago) by s10k
Content type: text/x-chdr
File size: 1033 byte(s)
Log Message:
added XML Tools latest version (2.0d) and s10k's common libs

File Contents

# Content
1 #pragma once
2 #include <plog/Converters/UTF8Converter.h>
3 #include <plog/Util.h>
4
5 namespace plog
6 {
7 template<class NextConverter = UTF8Converter>
8 class NativeEOLConverter : public NextConverter
9 {
10 #ifdef _WIN32
11 public:
12 static std::string header(const util::nstring& str)
13 {
14 return NextConverter::header(fixLineEndings(str));
15 }
16
17 static std::string convert(const util::nstring& str)
18 {
19 return NextConverter::convert(fixLineEndings(str));
20 }
21
22 private:
23 static std::wstring fixLineEndings(const std::wstring& str)
24 {
25 std::wstring output;
26 output.reserve(str.length() * 2);
27
28 for (size_t i = 0; i < str.size(); ++i)
29 {
30 wchar_t ch = str[i];
31
32 if (ch == L'\n')
33 {
34 output.push_back(L'\r');
35 }
36
37 output.push_back(ch);
38 }
39
40 return output;
41 }
42 #endif
43 };
44 }