summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/NewKit/KString.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-23 04:07:12 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-23 04:07:12 +0200
commitfc67c4af554189c941c811486a0b2b21aa3f54ea (patch)
treeddc7677c3bb1072c9b9fb85618b75c8ee172b377 /dev/kernel/NewKit/KString.h
parentfbd1f65a2cd30b3b4ed3da236398ddcfc437ac47 (diff)
feat!(kernel): Rename NewKit to NeKit.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/NewKit/KString.h')
-rw-r--r--dev/kernel/NewKit/KString.h82
1 files changed, 0 insertions, 82 deletions
diff --git a/dev/kernel/NewKit/KString.h b/dev/kernel/NewKit/KString.h
deleted file mode 100644
index 08f783c0..00000000
--- a/dev/kernel/NewKit/KString.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -------------------------------------------
-
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
-
-------------------------------------------- */
-
-#pragma once
-
-#include <CompilerKit/CompilerKit.h>
-#include <NewKit/Defines.h>
-#include <NewKit/ErrorOr.h>
-#include <NewKit/KernelPanic.h>
-#include <NewKit/Utils.h>
-
-#define kMinimumStringSize (8196U)
-
-namespace Kernel {
-/// @brief Kernel string class, not dynamic.
-class KString final {
- public:
- explicit KString() {
- fDataSz = kMinimumStringSize;
-
- fData = new Char[fDataSz];
- MUST_PASS(fData);
-
- rt_set_memory(fData, 0, fDataSz);
- }
-
- explicit KString(SizeT Sz) : fDataSz(Sz) {
- MUST_PASS(Sz > 1);
-
- fData = new Char[Sz];
- MUST_PASS(fData);
-
- rt_set_memory(fData, 0, Sz);
- }
-
- ~KString() {
- if (fData) {
- delete[] fData;
- fData = nullptr;
- }
- }
-
- NE_COPY_DEFAULT(KString)
-
- Char* Data();
- const Char* CData() const;
- Size Length() const;
-
- bool operator==(const Char* rhs) const;
- bool operator!=(const Char* rhs) const;
-
- bool operator==(const KString& rhs) const;
- bool operator!=(const KString& rhs) const;
-
- KString& operator+=(const Char* rhs);
- KString& operator+=(const KString& rhs);
-
- operator bool() { return fData; }
-
- bool operator!() { return fData; }
-
- private:
- Char* fData{nullptr};
- Size fDataSz{0};
- Size fCur{0};
-
- friend class KStringBuilder;
-};
-
-class KStringBuilder final {
- public:
- static ErrorOr<KString> Construct(const Char* data);
- static const Char* FromBool(const Char* fmt, bool n);
- static const Char* Format(const Char* fmt, const Char* from);
- static bool Equals(const Char* lhs, const Char* rhs);
- static bool Equals(const Utf8Char* lhs, const Utf8Char* rhs);
- static bool Equals(const WideChar* lhs, const WideChar* rhs);
-};
-} // namespace Kernel