From 654c31b94d547e8d83be378eb5d5ab16a820dcdd Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 4 Dec 2025 16:22:22 +0100 Subject: chore:: breaking structural changes of CompilerKit. The Kit has been redesigned to be expandable to new language frontends. Signed-off-by: Amlal El Mahrouss --- src/CompilerKit/StringKit.h | 95 --------------------------------------------- 1 file changed, 95 deletions(-) delete mode 100644 src/CompilerKit/StringKit.h (limited to 'src/CompilerKit/StringKit.h') diff --git a/src/CompilerKit/StringKit.h b/src/CompilerKit/StringKit.h deleted file mode 100644 index d3eb3ad..0000000 --- a/src/CompilerKit/StringKit.h +++ /dev/null @@ -1,95 +0,0 @@ -/* - * ======================================================== - * - * CompilerKit - * Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under the Apache 2.0 license. - * - * ======================================================== - */ - -#ifndef __NECTI_STRINGKIT__ -#define __NECTI_STRINGKIT__ - -#include -#include -#include - -/// =========================================================== /// -/// @file StringKit.h -/// @author Amlal El Mahrouss -/// @brief StringKit for CompilerKit. -/// =========================================================== /// - -namespace CompilerKit { -class NEStringBuilder; -class NEString; - -/** - * @brief NEString class, contains a C string and manages it. - * @note No need to manage it it's getting deleted by default. - */ - -class NEString final { - public: - explicit NEString() = delete; - - explicit NEString(SizeType Sz) noexcept : m_Sz(Sz) { - m_Data = new Char[Sz]; - assert(m_Data); - } - - ~NEString() noexcept { - if (m_Data) { - memset(m_Data, 0, m_Sz); - delete[] m_Data; - - m_Data = nullptr; - } - } - - NECTI_COPY_DEFAULT(NEString); - - Char* Data(); - const Char* CData() const; - SizeType Length() const; - - bool operator==(const Char* rhs) const; - bool operator!=(const Char* rhs) const; - - bool operator==(const NEString& rhs) const; - bool operator!=(const NEString& rhs) const; - - NEString& operator+=(const Char* rhs); - NEString& operator+=(const Char rhs); - NEString& operator+=(const NEString& rhs); - - explicit operator bool() { return m_Data && m_Data[0] != 0; } - - bool operator!() { return !m_Data || m_Data[0] == 0; } - - private: - Char* m_Data{nullptr}; - SizeType m_Sz{0}; - SizeType m_Cur{0}; - - friend class NEStringBuilder; -}; - -/** - * @brief NEStringBuilder class - * @note These results shall call be delete[] after they're used. - */ -struct NEStringBuilder final { - static NEString Construct(const Char* data); - static NEString FromInt(const char* fmt, int n); - static NEString FromBool(const char* fmt, bool n); - static NEString Format(const char* fmt, const char* from); - static bool Equals(const char* lhs, const char* rhs); -}; - -using NEStringOr = ErrorOr; -using NEStringPtr = NEString*; -using NEStringRef = Ref; -} // namespace CompilerKit - -#endif /* ifndef __NECTI_STRINGKIT__ */ -- cgit v1.2.3