summaryrefslogtreecommitdiff
path: root/lib/ktl/README.md
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-10-16 02:39:56 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-10-16 02:39:56 +0800
commit8cace3f05003c6cb4d38c36890055f03151c2ad4 (patch)
treeaa739deaac0266f17c4e91b333957501cb1ea2e9 /lib/ktl/README.md
parent3ad39e9878310e5317ee73c9b353c1e2c1c5c4ee (diff)
downloadlume-8cace3f05003c6cb4d38c36890055f03151c2ad4.tar.gz
lume-8cace3f05003c6cb4d38c36890055f03151c2ad4.tar.xz
Remove old code
Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
Diffstat (limited to 'lib/ktl/README.md')
-rw-r--r--lib/ktl/README.md36
1 files changed, 0 insertions, 36 deletions
diff --git a/lib/ktl/README.md b/lib/ktl/README.md
deleted file mode 100644
index 667c678..0000000
--- a/lib/ktl/README.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Kernel Template Library
-
-The Kernel Template Library is a curated subset of the C++ standard library API
-using the `ktl` namespace rather than the `std` namespace. When a specific
-interface is deemed useful, safe, and appropriate for use in the kernel, it can
-be added here. No `std` APIs are ever used directly in the kernel, only `ktl`.
-
-The API is a strict subset of the standard C++ library API aside from the
-namespace. The header file names are mostly directly mapped as well:
-
- <foo> -> <ktl/foo.h>
-
-There can be exceptions. For example, <memory> is a very broad collection of
-APIs and the ktl subset is more focused. So instead of <ktl/memory.h> there
-are specific headers for the standard APIs from <memory> that are included, such
-as <ktl/unique_ptr.h> for `ktl::unique_ptr` (`std::unique_ptr` in <memory>).
-
-The implementation here simply leverages the libc++ implementation and defines
-`using` aliases in the `ktl` namespace. It's expected that ktl will only ever
-provide "header only" APIs.
-
-## ktl enforcement
-
-The [`<ktl/enforce.h>`](include/ktl/enforce.h) header file should be used in
-most `.cc` files (but not `.h`) files meant only for the kernel environment.
-That is, in `.cc` files that use the `<ktl/*.h>` headers or use kernel-only
-headers that use them.
-
-This file must appear last in the `#include` list and `clang-format` will
-arrange that automatically.
-
-After this `#include` any use of the `std` identifier in C++ code will cause a
-compile-time error. When such errors are encountered, the kernel code should
-be checked for use of C++ standard library headers (with no `.h` in the name,
-like `<memory>, etc.) that should be replaced with `<ktl/*.h>` headers and for
-`std::` names that should be replaced with `ktl::` names.