summaryrefslogtreecommitdiffhomepage
path: root/Private/CompilerKit/StdKit/String.hpp
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-01-27 09:34:36 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-01-27 09:34:36 +0100
commit7f07441646bba449d8ca60195c032720ce08aa13 (patch)
tree5e6a70ffbab71899468efd487a1c242348664eb5 /Private/CompilerKit/StdKit/String.hpp
parent59a2e775507d01f3ebc8435bf749ab6d3d5b3eeb (diff)
StringManip: reworked API to use C arrays.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/CompilerKit/StdKit/String.hpp')
-rw-r--r--Private/CompilerKit/StdKit/String.hpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/Private/CompilerKit/StdKit/String.hpp b/Private/CompilerKit/StdKit/String.hpp
index a3d528f..0b21b8d 100644
--- a/Private/CompilerKit/StdKit/String.hpp
+++ b/Private/CompilerKit/StdKit/String.hpp
@@ -21,7 +21,8 @@ namespace CompilerKit
explicit StringView(SizeType Sz) : m_Sz(Sz)
{
-
+ m_Data = new char[Sz];
+ assert(m_Data);
}
~StringView() = default;
@@ -43,18 +44,18 @@ namespace CompilerKit
operator bool()
{
- return m_Data.empty() == false;
+ return m_Data && m_Data[0] != 0;
}
bool operator!()
{
- return m_Data.empty() == true;
+ return !m_Data || m_Data[0] == 0;
}
private:
- std::basic_string<char> m_Data{""};
- SizeType m_Sz{0};
- SizeType m_Cur{0};
+ char* m_Data{ nullptr };
+ SizeType m_Sz{ 0 };
+ SizeType m_Cur{ 0 };
friend class StringBuilder;