mirror of
https://github.com/Milxnor/Project-Reboot-3.0.git
synced 2026-01-13 02:42:22 +01:00
Add project files.
This commit is contained in:
47
Project Reboot 3.0/UnrealString.h
Normal file
47
Project Reboot 3.0/UnrealString.h
Normal file
@@ -0,0 +1,47 @@
|
||||
#pragma once
|
||||
|
||||
#include <locale>
|
||||
|
||||
#include "Array.h"
|
||||
|
||||
class FString
|
||||
{
|
||||
TArray<TCHAR> Data;
|
||||
|
||||
public:
|
||||
std::string ToString() const
|
||||
{
|
||||
auto length = std::wcslen(Data.Data);
|
||||
std::string str(length, '\0');
|
||||
std::use_facet<std::ctype<wchar_t>>(std::locale()).narrow(Data.Data, Data.Data + length, '?', &str[0]);
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
void Free()
|
||||
{
|
||||
Data.Free();
|
||||
}
|
||||
|
||||
bool IsValid()
|
||||
{
|
||||
return Data.Data;
|
||||
}
|
||||
|
||||
void Set(const wchar_t* NewStr) // by fischsalat
|
||||
{
|
||||
if (!NewStr || std::wcslen(NewStr) == 0) return;
|
||||
|
||||
Data.ArrayMax = Data.ArrayNum = *NewStr ? (int)std::wcslen(NewStr) + 1 : 0;
|
||||
|
||||
if (Data.ArrayNum)
|
||||
Data.Data = const_cast<wchar_t*>(NewStr);
|
||||
}
|
||||
|
||||
FString() {}
|
||||
|
||||
FString(const wchar_t* str)
|
||||
{
|
||||
Set(str);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user