summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/NeKit/Utils.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-12-12 09:27:10 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-12-12 09:28:17 +0100
commitdafb757549b5238f67c49b2c8c0a1b44aedf0bd4 (patch)
tree4ba7e264247736115e820c9a1babc3c0c4a2a701 /src/kernel/NeKit/Utils.h
parent2035b324141cbebb1f51a13a28046fbde2735c96 (diff)
chore: make Ref `operator bool` explicit, remove useless `MUST_PASS` in TLS.inl, use `CFRef` in LaunchHelpers.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/kernel/NeKit/Utils.h')
-rw-r--r--src/kernel/NeKit/Utils.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/kernel/NeKit/Utils.h b/src/kernel/NeKit/Utils.h
index 28a153af..71cae42b 100644
--- a/src/kernel/NeKit/Utils.h
+++ b/src/kernel/NeKit/Utils.h
@@ -51,12 +51,22 @@ Size urt_string_len(const Utf8Char* str);
/// =========================================================== ///
template <typename CharType = Char>
-inline SizeT oe_string_len(const CharType* str) {
+inline constexpr SizeT oe_string_len(const CharType* str) {
if (!str) return 0;
+#if __cplusplus == 202302L
+ if consteval {
+ return ARRAY_SIZE(str);
+ } else {
+ SizeT len{0};
+ while (str[len] != 0) ++len;
+ return len;
+ }
+#else
SizeT len{0};
while (str[len] != 0) ++len;
return len;
+#endif
}
} // namespace Kernel