Initial work on standard library
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2019-06-29 16:18:59 +02:00
parent ecfc1ae3b7
commit 24c560b52d
12 changed files with 213 additions and 22 deletions

View File

@@ -1,5 +1,5 @@
#include "StringUtils.hpp"
namespace Porygon::Utilities{
std::wstring_convert<std::codecvt_utf8_utf16<char16_t, 0x10ffff, std::little_endian>, char16_t> StringUtils::conv;
std::wstring_convert<std::codecvt_utf8_utf16<char16_t, 0x10ffff, std::little_endian>, char16_t> StringUtils::to_16;
}

View File

@@ -10,13 +10,17 @@
namespace Porygon::Utilities{
class StringUtils{
static std::wstring_convert<std::codecvt_utf8_utf16<char16_t, 0x10ffff, std::little_endian>, char16_t> conv;
private:
static std::wstring_convert<std::codecvt_utf8_utf16<char16_t, 0x10ffff, std::little_endian>, char16_t> to_16;
public:
static std::u16string IntToString(long const &i) {
return conv.from_bytes(std::to_string(i));
return to_16.from_bytes(std::to_string(i));
}
static std::u16string StringToU16String(const std::string& s) {
return conv.from_bytes(s);
static std::u16string ToUTF8(const std::string &s) {
return to_16.from_bytes(s);
}
static std::string FromUTF8(const std::u16string &s) {
return to_16.to_bytes(s);
}
};