summaryrefslogtreecommitdiff
path: root/lib/ktl/include
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ktl/include')
-rw-r--r--lib/ktl/include/__chrono/system_clock.h15
-rw-r--r--lib/ktl/include/__config53
-rw-r--r--lib/ktl/include/__config_site81
-rw-r--r--lib/ktl/include/__configuration/platform.h23
-rw-r--r--lib/ktl/include/__external_threading35
-rw-r--r--lib/ktl/include/climits15
-rw-r--r--lib/ktl/include/cmath53
-rw-r--r--lib/ktl/include/cstdint18
-rw-r--r--lib/ktl/include/cstdio21
-rw-r--r--lib/ktl/include/cstdlib30
-rw-r--r--lib/ktl/include/cwchar62
-rw-r--r--lib/ktl/include/ktl/algorithm.h116
-rw-r--r--lib/ktl/include/ktl/array.h19
-rw-r--r--lib/ktl/include/ktl/atomic.h40
-rw-r--r--lib/ktl/include/ktl/bit.h30
-rw-r--r--lib/ktl/include/ktl/byte.h18
-rw-r--r--lib/ktl/include/ktl/concepts.h46
-rw-r--r--lib/ktl/include/ktl/declval.h18
-rw-r--r--lib/ktl/include/ktl/enforce.h37
-rw-r--r--lib/ktl/include/ktl/forward.h18
-rw-r--r--lib/ktl/include/ktl/functional.h19
-rw-r--r--lib/ktl/include/ktl/initializer_list.h18
-rw-r--r--lib/ktl/include/ktl/inplace_vector.h18
-rw-r--r--lib/ktl/include/ktl/iterator.h38
-rw-r--r--lib/ktl/include/ktl/limits.h18
-rw-r--r--lib/ktl/include/ktl/memory.h41
-rw-r--r--lib/ktl/include/ktl/new.h25
-rw-r--r--lib/ktl/include/ktl/numeric.h20
-rw-r--r--lib/ktl/include/ktl/optional.h23
-rw-r--r--lib/ktl/include/ktl/ranges.h25
-rw-r--r--lib/ktl/include/ktl/ref.h19
-rw-r--r--lib/ktl/include/ktl/source_location.h18
-rw-r--r--lib/ktl/include/ktl/span.h26
-rw-r--r--lib/ktl/include/ktl/string_view.h22
-rw-r--r--lib/ktl/include/ktl/tuple.h30
-rw-r--r--lib/ktl/include/ktl/type_traits.h165
-rw-r--r--lib/ktl/include/ktl/unique_ptr.h37
-rw-r--r--lib/ktl/include/ktl/utility.h41
-rw-r--r--lib/ktl/include/ktl/variant.h31
-rw-r--r--lib/ktl/include/limits110
-rw-r--r--lib/ktl/include/time.h39
-rw-r--r--lib/ktl/include/version14
-rw-r--r--lib/ktl/include/wchar.h23
43 files changed, 0 insertions, 1568 deletions
diff --git a/lib/ktl/include/__chrono/system_clock.h b/lib/ktl/include/__chrono/system_clock.h
deleted file mode 100644
index 5d39243..0000000
--- a/lib/ktl/include/__chrono/system_clock.h
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2023 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE___CHRONO_SYSTEM_CLOCK_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE___CHRONO_SYSTEM_CLOCK_H_
-
-// libc++'s <atomic> includes this file via various internal headers.
-// The declarations it provides aren't needed for the kernel and rely
-// on other things stubbed out by the kernel. So this placeholder file
-// just prevents compiling the libc++ code that doesn't work.
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE___CHRONO_SYSTEM_CLOCK_H_
diff --git a/lib/ktl/include/__config b/lib/ktl/include/__config
deleted file mode 100644
index e04573e..0000000
--- a/lib/ktl/include/__config
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2022 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE___CONFIG_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE___CONFIG_
-
-// The libc++ internal header <__config> unconditionally responds to some
-// predefines set in the EFI environment. So this header wraps it and then
-// undoes the damage that our __config_site header can't prevent.
-
-#include_next <__config>
-
-#undef _LIBCPP_WIN32API
-#undef _LIBCPP_MSVCRT_LIKE
-#undef _LIBCPP_MSVCRT
-#undef _LIBCPP_HAS_OPEN_WITH_WCHAR
-
-// This prevents libc++ from doing fallback to spin locks and the like for
-// cases where is_always_lock_free is not true. In the kernel, we don't want
-// any behind-the-scenes help like that, we want to get link errors from
-// libcalls if atomics can't be lowered to real hardware instructions.
-#undef _LIBCPP_ATOMIC_ONLY_USE_BUILTINS
-
-// These are used by <__configuration/availability.h> to decide when headers
-// should expect things to be defined in the library. For the kernel, there is
-// no library and so everything must be defined in headers.
-#undef _LIBCPP_INTRODUCED_IN_LLVM_21
-#define _LIBCPP_INTRODUCED_IN_LLVM_21 0
-#undef _LIBCPP_INTRODUCED_IN_LLVM_20
-#define _LIBCPP_INTRODUCED_IN_LLVM_20 0
-#undef _LIBCPP_INTRODUCED_IN_LLVM_19
-#define _LIBCPP_INTRODUCED_IN_LLVM_19 0
-#undef _LIBCPP_INTRODUCED_IN_LLVM_18
-#define _LIBCPP_INTRODUCED_IN_LLVM_18 0
-#undef _LIBCPP_INTRODUCED_IN_LLVM_16
-#define _LIBCPP_INTRODUCED_IN_LLVM_16 0
-#undef _LIBCPP_INTRODUCED_IN_LLVM_15
-#define _LIBCPP_INTRODUCED_IN_LLVM_15 0
-#undef _LIBCPP_INTRODUCED_IN_LLVM_14
-#define _LIBCPP_INTRODUCED_IN_LLVM_14 0
-#undef _LIBCPP_INTRODUCED_IN_LLVM_12
-#define _LIBCPP_INTRODUCED_IN_LLVM_12 0
-#undef _LIBCPP_INTRODUCED_IN_LLVM_11
-#define _LIBCPP_INTRODUCED_IN_LLVM_11 0
-#undef _LIBCPP_INTRODUCED_IN_LLVM_9
-#define _LIBCPP_INTRODUCED_IN_LLVM_9 0
-#undef _LIBCPP_INTRODUCED_IN_LLVM_4
-#define _LIBCPP_INTRODUCED_IN_LLVM_4 0
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE___CONFIG_
diff --git a/lib/ktl/include/__config_site b/lib/ktl/include/__config_site
deleted file mode 100644
index 4d2236b..0000000
--- a/lib/ktl/include/__config_site
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2021 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE___CONFIG_SITE_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE___CONFIG_SITE_
-
-// The libc++ internal header <__config> does #include <__config_site> to get
-// definitions that vary by operating system, machine, or configuration. The
-// toolchain's libc++ installation provides include/$triple/.../__config_site
-// files for each $cpu-fuchsia appropriate for normal userland. But the ktl
-// abuse of libc++ is different from public userland libc++, so provide special
-// kernel-appropriate definitions here. This file will be in the include path
-// ahead of any toolchain-supplied header. Also, some special bare-metal build
-// environments such as phys32 or efi that reuse ktl and kernel libc code may
-// use settings that cause the compiler to change the $triple it injects into
-// the include path to one for which no runtimes are built and so there is no
-// __config_site file to be found at all.
-
-// These two are what <__config_site> for Fuchsia userland defines.
-#define _LIBCPP_ABI_VERSION 2
-#define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS 1
-
-// This has to be defined to some `__*` string but what doesn't really matter.
-#define _LIBCPP_ABI_NAMESPACE __ktl
-
-// When compiling in the UEFI environment, the predefines look like Windows
-// but there is no Windows runtime environment to use.
-#define _LIBCPP_NO_VCRUNTIME 1
-
-// This tells the headers not to use `extern template` declarations that
-// expect specific instantiations/specializations to come from the libc++
-// library rather than the headers. In the kernel, only the headers are
-// ever going to be available.
-#define _LIBCPP_DISABLE_EXTERN_TEMPLATE 1
-
-// This tells <atomic> not to use threading APIs.
-#define _LIBCPP_HAS_NO_PLATFORM_WAIT 1
-
-// This tells <atomic> et al to use <__external_threading> instead
-// of expecting either POSIX or C11 threading APIs.
-#define _LIBCPP_HAS_THREAD_API_EXTERNAL 1
-#define _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL 1
-
-// <__config> requires that these be set if _LIBCPP_HAS_THREAD_API_EXTERNAL is.
-#define _LIBCPP_HAS_THREADS 1
-#define _LIBCPP_HAS_MONOTONIC_CLOCK 1
-
-// This tells <new> not to use `aligned_alloc` from <stdlib.h>.
-#define _LIBCPP_HAS_NO_C11_ALIGNED_ALLOC 1
-
-// This tells various headers to be strict about what includes what.
-#define _LIBCPP_REMOVE_TRANSITIVE_INCLUDES 1
-
-// This tells libc++ not to expect full locale APIs in some places.
-#define _LIBCPP_HAS_NO_LOCALIZATION 1
-
-// This is unfortunately required even though the kernel does not use wide
-// characters.
-#define _LIBCPP_HAS_WIDE_CHARACTERS 1
-
-// This tells pstl headers to use serial algorithms and not try to
-// do any multithreading.
-#define _LIBCPP_PSTL_CPU_BACKEND_SERIAL 1
-
-// This will probably never be used in code that ktl actually uses.
-// But define it for completeness.
-#define _LIBCPP_INSTRUMENTED_WITH_ASAN __has_feature(address_sanitizer)
-
-// TODO(https://fxbug.dev/42082322): make the hardening mode selectable through build
-// configurations.
-// This sets the default to tell libc++ to not enable assertions to prevent
-// undefined behavior, but may be overridden if _LIBCPP_HARDENING_MODE is
-// defined elsewhere.
-#define _LIBCPP_HARDENING_MODE_DEFAULT _LIBCPP_HARDENING_MODE_NONE
-
-#define _LIBCPP_ASSERTION_SEMANTIC_DEFAULT _LIBCPP_ASSERTION_SEMANTIC_HARDENING_DEPENDENT
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE___CONFIG_SITE_
diff --git a/lib/ktl/include/__configuration/platform.h b/lib/ktl/include/__configuration/platform.h
deleted file mode 100644
index b15e1e0..0000000
--- a/lib/ktl/include/__configuration/platform.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2025 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE___CONFIGURATION_PLATFORM_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE___CONFIGURATION_PLATFORM_H_
-
-// Other libc++ headers use <__configuration/platform.h> but libc++'s
-// <__configuration/platform.h> does not yet recognize the `__PE_COFF__`
-// predefine. Until we support this new predefine upstream,
-// we must define _LIBCPP_OBJECT_FORMAT_COFF for UEFI targets here.
-// TODO(https://fxbug.dev/435771251) -- Support `__PE_COFF__` predefine
-// upstream.
-
-#if defined(__PE_COFF__)
-#define _LIBCPP_OBJECT_FORMAT_COFF 2 // Tell libc++ this is PE-COFF.
-#endif // __PE_COFF__
-
-#include_next <__configuration/platform.h>
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE___CONFIGURATION_PLATFORM_H_
diff --git a/lib/ktl/include/__external_threading b/lib/ktl/include/__external_threading
deleted file mode 100644
index 9cec903..0000000
--- a/lib/ktl/include/__external_threading
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2020 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE___EXTERNAL_THREADING
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE___EXTERNAL_THREADING
-
-// libc++'s <atomic> includes this file via <__threading_support>. It needs
-// these types and functions declared, but only for use in interfaces that
-// aren't supported in the kernel, so stub declarations are all they need.
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-struct __libcpp_timespec_t {
- long int tv_sec, tv_nsec;
-};
-
-using __libcpp_thread_id = int;
-
-bool __libcpp_thread_id_equal(__libcpp_thread_id, __libcpp_thread_id);
-bool __libcpp_thread_id_less(__libcpp_thread_id, __libcpp_thread_id);
-__libcpp_thread_id __libcpp_thread_get_current_id();
-
-void __libcpp_thread_sleep_for(chrono::nanoseconds);
-void __libcpp_thread_yield();
-
-// This macro is used unconditionally in <__threading_support> but defined
-// there only conditionally on when <__external_threading> is not used.
-#define _LIBCPP_THREAD_ABI_VISIBILITY inline _LIBCPP_INLINE_VISIBILITY
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE___EXTERNAL_THREADING
diff --git a/lib/ktl/include/climits b/lib/ktl/include/climits
deleted file mode 100644
index 86e537d..0000000
--- a/lib/ktl/include/climits
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2022 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#pragma once
-
-// Other libc++ headers use <climits> but libc++'s <climits> complains if it
-// thinks <limits.h> is not its own wrapper, which we do not need. We always
-// get the kernel's <limits.h> before the libc++ with the way the include paths
-// are set up, which is necessary because of other headers where preempting
-// libc++'s header is unavoidable for the kernel environment.
-
-#include <limits.h>
diff --git a/lib/ktl/include/cmath b/lib/ktl/include/cmath
deleted file mode 100644
index 13b8e6b..0000000
--- a/lib/ktl/include/cmath
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2021 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_CMATH_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_CMATH_
-
-// The kernel doesn't want this file but some libc++ headers we need
-// wind up including it. They don't actually most of the math
-// declarations except under #if conditions that aren't true.
-
-#include <__config>
-#include <type_traits>
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-// These are used in templates that won't ever be instantiated in kernel code.
-
-template <typename T>
-constexpr bool isinf(T&& x) {
- static_assert(!is_same_v<T, T>, "must not be instantiated in kernel code");
- return false;
-}
-
-template <typename T>
-constexpr bool isnan(T&& x) {
- static_assert(!is_same_v<T, T>, "must not be instantiated in kernel code");
- return false;
-}
-
-template <typename T>
-constexpr bool signbit(T&& x) {
- static_assert(!is_same_v<T, T>, "must not be instantiated in kernel code");
- return false;
-}
-
-template <typename T>
-constexpr T frexp(T&& x, int* exponent) {
- static_assert(!is_same_v<T, T>, "must not be instantiated in kernel code");
- return x;
-}
-
-template <typename T>
-constexpr auto ceil(T&& x) {
- static_assert(!is_same_v<T, T>, "must not be instantiated in kernel code");
- return x;
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_CMATH_
diff --git a/lib/ktl/include/cstdint b/lib/ktl/include/cstdint
deleted file mode 100644
index 0ab922c..0000000
--- a/lib/ktl/include/cstdint
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2022 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#pragma once
-
-// Other libc++ headers use <cstdint> but libc++'s <cstdint> complains if it
-// thinks <stdint.h> is not its own wrapper, so we define _LIBCPP_STDINT_H. We
-// always get the real <stdint.h> before the libc++ with the way the include
-// paths are set up, which is necessary because of other headers where
-// preempting libc++'s header is unavoidable for the kernel environment.
-
-#include <stdint.h>
-
-#define _LIBCPP_STDINT_H
-#include_next <cstdint>
diff --git a/lib/ktl/include/cstdio b/lib/ktl/include/cstdio
deleted file mode 100644
index 349e736..0000000
--- a/lib/ktl/include/cstdio
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2020 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_CSTDIO_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_CSTDIO_
-
-// The kernel doesn't want this file but some libc++ headers we need
-// wind up including it and they need these declarations.
-//
-// Note this specifically avoids <stdio.h> because libc++ doesn't need that
-// but <string_view> indirectly reaches <cstdio> and the kernel's <stdio.h>
-// uses <ktl/string_view.h> so there would be a circularity.
-
-#include <wchar.h>
-
-#define EOF (-1)
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_CSTDIO_
diff --git a/lib/ktl/include/cstdlib b/lib/ktl/include/cstdlib
deleted file mode 100644
index 25ad762..0000000
--- a/lib/ktl/include/cstdlib
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2018 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#pragma once
-
-// This is used by libc++'s <new> just for std::abort, ::posix_memalign, and
-// ::free.
-
-#include <stdlib.h>
-
-#include <__config>
-
-#define _LIBCPP_UNREACHABLE() __builtin_unreachable()
-
-// This is used by the __libcpp_aligned_alloc inline. Since it always fails
-// that inline will trivially always return nullptr.
-inline int posix_memalign(void** ptr, size_t align, size_t size) { return 1; }
-
-// This is used by the __libcpp_aligned_free inline, which won't really ever be
-// called. The kernel does have a real free declared elsewhere.
-void free(void* ptr);
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::abort;
-
-_LIBCPP_END_NAMESPACE_STD
diff --git a/lib/ktl/include/cwchar b/lib/ktl/include/cwchar
deleted file mode 100644
index 4f24c73..0000000
--- a/lib/ktl/include/cwchar
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2020 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_CWCHAR
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_CWCHAR
-
-// The kernel doesn't want this file but some libc++ headers we need
-// wind up including it and they need these declarations.
-
-#include <wchar.h>
-
-#include <__config>
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-using ::wmemcpy;
-using ::wmemmove;
-using ::wmemset;
-
-// These are called by libc++ header code. The first two should never actually
-// be called by anything that really gets instantiated in kernel code since
-// wchar_t is never used. However, __constexpr_wmemchr is used by places like
-// std::find not just for wchar_t per se but for any trivial type of the same
-// size, e.g. uint32_t. So its code must be correct. The other two are filled
-// out just in case of an unexpected use.
-
-constexpr size_t __constexpr_wcslen(const wchar_t* str) {
- size_t len = 0;
- while (*str++ != L'\0') {
- ++len;
- }
- return len;
-}
-
-constexpr int __constexpr_wmemcmp(const wchar_t* lhs, const wchar_t* rhs, size_t count) {
- while (count-- > 0) {
- if (*lhs != *rhs) {
- return static_cast<int>(*lhs - *rhs);
- }
- ++lhs;
- ++rhs;
- }
- return 0;
-}
-
-template <class Tp, class Up>
-constexpr Tp* __constexpr_wmemchr(Tp* str, Up wc, size_t count) {
- while (count-- > 0) {
- if (*str == wc) {
- return str;
- }
- ++str;
- }
- return nullptr;
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_CWCHAR
diff --git a/lib/ktl/include/ktl/algorithm.h b/lib/ktl/include/ktl/algorithm.h
deleted file mode 100644
index 7b7baed..0000000
--- a/lib/ktl/include/ktl/algorithm.h
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright 2020 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ALGORITHM_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ALGORITHM_H_
-
-#include <algorithm>
-
-namespace ktl {
-
-// "Non-modifying sequence operations"
-using std::adjacent_find;
-using std::all_of;
-using std::any_of;
-using std::count;
-using std::count_if;
-using std::find;
-using std::find_end;
-using std::find_first_of;
-using std::find_if;
-using std::find_if_not;
-using std::for_each;
-using std::for_each_n;
-using std::none_of;
-using std::search;
-using std::search_n;
-
-namespace ranges {
-using std::ranges::adjacent_find;
-using std::ranges::all_of;
-using std::ranges::any_of;
-using std::ranges::count;
-using std::ranges::count_if;
-using std::ranges::find;
-using std::ranges::find_end;
-using std::ranges::find_first_of;
-using std::ranges::find_if;
-using std::ranges::find_if_not;
-using std::ranges::for_each;
-using std::ranges::for_each_n;
-using std::ranges::none_of;
-using std::ranges::search;
-using std::ranges::search_n;
-} // namespace ranges
-
-// "Modifying sequence operations" (subset)
-using std::copy;
-using std::copy_if;
-using std::fill;
-using std::fill_n;
-using std::reverse;
-using std::shuffle;
-using std::transform;
-
-namespace ranges {
-using std::ranges::copy;
-using std::ranges::copy_if;
-using std::ranges::fill;
-using std::ranges::fill_n;
-using std::ranges::reverse;
-using std::ranges::shuffle;
-using std::ranges::transform;
-} // namespace ranges
-
-// "Sorting operations" (subset)
-using std::is_sorted;
-using std::is_sorted_until;
-using std::sort;
-using std::stable_sort;
-
-namespace ranges {
-using std::ranges::is_sorted;
-using std::ranges::is_sorted_until;
-using std::ranges::sort;
-using std::ranges::stable_sort;
-} // namespace ranges
-
-// "Binary search operations (on sorted ranges)"
-using std::binary_search;
-using std::equal_range;
-using std::lower_bound;
-using std::upper_bound;
-
-namespace ranges {
-using std::ranges::binary_search;
-using std::ranges::equal_range;
-using std::ranges::lower_bound;
-using std::ranges::upper_bound;
-} // namespace ranges
-
-// "Minimum/maximum operations"
-using std::clamp;
-using std::equal;
-using std::max;
-using std::max_element;
-using std::min;
-using std::min_element;
-using std::minmax;
-using std::minmax_element;
-
-namespace ranges {
-using std::ranges::clamp;
-using std::ranges::max;
-using std::ranges::max_element;
-using std::ranges::min;
-using std::ranges::min_element;
-using std::ranges::minmax;
-using std::ranges::minmax_element;
-} // namespace ranges
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ALGORITHM_H_
diff --git a/lib/ktl/include/ktl/array.h b/lib/ktl/include/ktl/array.h
deleted file mode 100644
index 90d445a..0000000
--- a/lib/ktl/include/ktl/array.h
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2019 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ARRAY_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ARRAY_H_
-
-#include <array>
-
-namespace ktl {
-
-using std::array;
-using std::to_array;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ARRAY_H_
diff --git a/lib/ktl/include/ktl/atomic.h b/lib/ktl/include/ktl/atomic.h
deleted file mode 100644
index 017db6b..0000000
--- a/lib/ktl/include/ktl/atomic.h
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2019 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ATOMIC_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ATOMIC_H_
-
-#include <atomic>
-
-// On arm64 and x86-64, lock-free 128-bit (16-byte) atomics are available.
-// But riscv64 does not support them.
-#ifdef __riscv
-#define HAVE_ATOMIC_128 0
-#else
-#define HAVE_ATOMIC_128 1
-#endif
-
-namespace ktl {
-
-using std::atomic;
-using std::atomic_init;
-using std::atomic_ref;
-
-using std::memory_order;
-
-using std::memory_order_acq_rel;
-using std::memory_order_acquire;
-using std::memory_order_consume;
-using std::memory_order_relaxed;
-using std::memory_order_release;
-using std::memory_order_seq_cst;
-
-using std::atomic_signal_fence;
-using std::atomic_thread_fence;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ATOMIC_H_
diff --git a/lib/ktl/include/ktl/bit.h b/lib/ktl/include/ktl/bit.h
deleted file mode 100644
index c3ccb7e..0000000
--- a/lib/ktl/include/ktl/bit.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2021 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_BIT_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_BIT_H_
-
-#include <bit>
-
-namespace ktl {
-
-using std::bit_cast;
-using std::bit_ceil;
-using std::bit_floor;
-using std::bit_width;
-using std::countl_one;
-using std::countl_zero;
-using std::countr_one;
-using std::countr_zero;
-using std::endian;
-using std::has_single_bit;
-using std::popcount;
-using std::rotl;
-using std::rotr;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_BIT_H_
diff --git a/lib/ktl/include/ktl/byte.h b/lib/ktl/include/ktl/byte.h
deleted file mode 100644
index 26b1294..0000000
--- a/lib/ktl/include/ktl/byte.h
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2020 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_BYTE_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_BYTE_H_
-
-#include <cstddef>
-
-namespace ktl {
-
-using std::byte;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_BYTE_H_
diff --git a/lib/ktl/include/ktl/concepts.h b/lib/ktl/include/ktl/concepts.h
deleted file mode 100644
index 93b3f62..0000000
--- a/lib/ktl/include/ktl/concepts.h
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2025 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_CONCEPTS_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_CONCEPTS_H_
-
-#include <concepts>
-
-namespace ktl {
-
-using std::assignable_from;
-using std::common_reference_with;
-using std::common_with;
-using std::constructible_from;
-using std::copy_constructible;
-using std::copyable;
-using std::default_initializable;
-using std::derived_from;
-using std::destructible;
-using std::equality_comparable;
-using std::equality_comparable_with;
-using std::equivalence_relation;
-using std::integral;
-using std::invocable;
-using std::movable;
-using std::move_constructible;
-using std::predicate;
-using std::regular;
-using std::regular_invocable;
-using std::relation;
-using std::same_as;
-using std::semiregular;
-using std::signed_integral;
-using std::strict_weak_order;
-using std::swappable;
-using std::swappable_with;
-using std::totally_ordered;
-using std::totally_ordered_with;
-using std::unsigned_integral;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_CONCEPTS_H_
diff --git a/lib/ktl/include/ktl/declval.h b/lib/ktl/include/ktl/declval.h
deleted file mode 100644
index 925fe9c..0000000
--- a/lib/ktl/include/ktl/declval.h
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2021 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_DECLVAL_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_DECLVAL_H_
-
-#include <utility>
-
-namespace ktl {
-
-using std::declval;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_DECLVAL_H_
diff --git a/lib/ktl/include/ktl/enforce.h b/lib/ktl/include/ktl/enforce.h
deleted file mode 100644
index 9c948d2..0000000
--- a/lib/ktl/include/ktl/enforce.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2021 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ENFORCE_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ENFORCE_H_
-
-// `#include <ktl/enforce.h>` should appear last in the include list of any
-// kernel .cc file that uses `ktl` headers. Since many other kernel headers
-// use ktl headers and this must appear after *all* uses of any ktl headers,
-// whether direct or indirect, it's a good idea to just make sure that
-// `#include <ktl/enforce.h>` in each .cc file of kernel-only code (i.e. code
-// that might ever use ktl directly).
-//
-// The //.clang-format file has a rule to ensure this file is placed last and
-// separate from the other #include lines, so just adding the `#include` line
-// to each source file should make sure its placement stays correct.
-
-// This directive tells the preprocessor that the identifier `std` cannot
-// appear in any context (except the expansion of a macro already defined
-// before now). This ensures that any stray use of std::name in kernel code
-// can get caught at compile time so people remember to use ktl::name instead
-// and ensure that what they're using is in the approved ktl subset of std.
-//
-// It also affects harmless use of `std` as a local variable name or whatever,
-// but we can live without kernel code being able to use that one name.
-#pragma GCC poison std
-
-// Also poison the stdcompat namespaces, as the same rules for ktl wrappers
-// apply to those as std proper.
-#pragma GCC poison cpp17
-#pragma GCC poison cpp20
-#pragma GCC poison cpp23
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ENFORCE_H_
diff --git a/lib/ktl/include/ktl/forward.h b/lib/ktl/include/ktl/forward.h
deleted file mode 100644
index 62874e6..0000000
--- a/lib/ktl/include/ktl/forward.h
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2018 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_INCLUDE_KTL_FORWARD_H_
-#define ZIRCON_KERNEL_INCLUDE_KTL_FORWARD_H_
-
-#include <utility>
-
-namespace ktl {
-
-using std::forward;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_INCLUDE_KTL_FORWARD_H_
diff --git a/lib/ktl/include/ktl/functional.h b/lib/ktl/include/ktl/functional.h
deleted file mode 100644
index 026f4cf..0000000
--- a/lib/ktl/include/ktl/functional.h
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2023 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_FUNCTIONAL_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_FUNCTIONAL_H_
-
-#include <functional>
-
-namespace ktl {
-
-using std::bind_front;
-using std::invoke;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_FUNCTIONAL_H_
diff --git a/lib/ktl/include/ktl/initializer_list.h b/lib/ktl/include/ktl/initializer_list.h
deleted file mode 100644
index 3a69abb..0000000
--- a/lib/ktl/include/ktl/initializer_list.h
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2021 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_INITIALIZER_LIST_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_INITIALIZER_LIST_H_
-
-#include <initializer_list>
-
-namespace ktl {
-
-using std::initializer_list;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_INITIALIZER_LIST_H_
diff --git a/lib/ktl/include/ktl/inplace_vector.h b/lib/ktl/include/ktl/inplace_vector.h
deleted file mode 100644
index 4eaf92b..0000000
--- a/lib/ktl/include/ktl/inplace_vector.h
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2025 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_INPLACE_VECTOR_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_INPLACE_VECTOR_H_
-
-#include <lib/stdcompat/inplace_vector.h>
-
-namespace ktl {
-
-using cpp26::inplace_vector;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_INPLACE_VECTOR_H_
diff --git a/lib/ktl/include/ktl/iterator.h b/lib/ktl/include/ktl/iterator.h
deleted file mode 100644
index 58d92be..0000000
--- a/lib/ktl/include/ktl/iterator.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2020 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ITERATOR_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ITERATOR_H_
-
-#include <iterator>
-
-namespace ktl {
-
-// This includes only the "iterator operations" and "range access" subsets
-// of the <iterator> API. These are useful for treating all sorts of
-// container types, raw arrays, pointers, and {...} literal lists uniformly.
-// It leaves out iterator_traits and the "iterator adaptors" subset, which
-// have not yet seemed desirable to employ in kernel code.
-
-using std::advance;
-using std::begin;
-using std::cbegin;
-using std::cend;
-using std::crbegin;
-using std::crend;
-using std::data;
-using std::distance;
-using std::empty;
-using std::end;
-using std::next;
-using std::prev;
-using std::rbegin;
-using std::rend;
-using std::size;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_ITERATOR_H_
diff --git a/lib/ktl/include/ktl/limits.h b/lib/ktl/include/ktl/limits.h
deleted file mode 100644
index 8f6adf4..0000000
--- a/lib/ktl/include/ktl/limits.h
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2019 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_INCLUDE_KTL_LIMITS_H_
-#define ZIRCON_KERNEL_INCLUDE_KTL_LIMITS_H_
-
-#include <limits>
-
-namespace ktl {
-
-using std::numeric_limits;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_INCLUDE_KTL_LIMITS_H_
diff --git a/lib/ktl/include/ktl/memory.h b/lib/ktl/include/ktl/memory.h
deleted file mode 100644
index caf8d47..0000000
--- a/lib/ktl/include/ktl/memory.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2024 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_MEMORY_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_MEMORY_H_
-
-#include <memory>
-
-namespace ktl {
-
-using std::addressof;
-using std::to_address;
-
-using std::align;
-using std::assume_aligned;
-
-using std::default_delete;
-
-using std::pointer_traits;
-
-using std::construct_at;
-using std::destroy;
-using std::destroy_at;
-using std::destroy_n;
-using std::uninitialized_copy;
-using std::uninitialized_copy_n;
-using std::uninitialized_default_construct;
-using std::uninitialized_default_construct_n;
-using std::uninitialized_fill;
-using std::uninitialized_fill_n;
-using std::uninitialized_move;
-using std::uninitialized_move_n;
-using std::uninitialized_value_construct;
-using std::uninitialized_value_construct_n;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_MEMORY_H_
diff --git a/lib/ktl/include/ktl/new.h b/lib/ktl/include/ktl/new.h
deleted file mode 100644
index 12def96..0000000
--- a/lib/ktl/include/ktl/new.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2026 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_NEW_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_NEW_H_
-
-#include <new>
-
-namespace ktl {
-
-using std::align_val_t;
-
-using std::destroying_delete;
-using std::destroying_delete_t;
-using std::nothrow;
-using std::nothrow_t;
-
-using std::launder;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_NEW_H_
diff --git a/lib/ktl/include/ktl/numeric.h b/lib/ktl/include/ktl/numeric.h
deleted file mode 100644
index 18cad1f..0000000
--- a/lib/ktl/include/ktl/numeric.h
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2023 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_NUMERIC_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_NUMERIC_H_
-
-#include <numeric>
-
-namespace ktl {
-
-// "Numeric operations"
-using std::accumulate;
-using std::reduce;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_NUMERIC_H_
diff --git a/lib/ktl/include/ktl/optional.h b/lib/ktl/include/ktl/optional.h
deleted file mode 100644
index e08451d..0000000
--- a/lib/ktl/include/ktl/optional.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2020 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_OPTIONAL_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_OPTIONAL_H_
-
-#include <optional>
-
-namespace ktl {
-
-using std::in_place;
-using std::in_place_t;
-using std::make_optional;
-using std::nullopt;
-using std::nullopt_t;
-using std::optional;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_OPTIONAL_H_
diff --git a/lib/ktl/include/ktl/ranges.h b/lib/ktl/include/ktl/ranges.h
deleted file mode 100644
index 8e3ee09..0000000
--- a/lib/ktl/include/ktl/ranges.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2025 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_RANGES_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_RANGES_H_
-
-#include <ranges>
-
-namespace ktl {
-
-// This can't be a namespace alias like `views` because <ktl/algorithm.h> also
-// adds things to ktl::ranges and redundant namespace aliases aren't allowed.
-namespace ranges {
-using namespace std::ranges;
-} // namespace ranges
-
-// Only this header defines this namespace, so a simple namespace alias works.
-namespace views = std::views;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_RANGES_H_
diff --git a/lib/ktl/include/ktl/ref.h b/lib/ktl/include/ktl/ref.h
deleted file mode 100644
index fdaddc4..0000000
--- a/lib/ktl/include/ktl/ref.h
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2023 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_REF_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_REF_H_
-
-#include <functional>
-
-namespace ktl {
-
-using std::cref;
-using std::ref;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_REF_H_
diff --git a/lib/ktl/include/ktl/source_location.h b/lib/ktl/include/ktl/source_location.h
deleted file mode 100644
index 121668d..0000000
--- a/lib/ktl/include/ktl/source_location.h
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2025 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_SOURCE_LOCATION_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_SOURCE_LOCATION_H_
-
-#include <source_location>
-
-namespace ktl {
-
-using std::source_location;
-
-}
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_SOURCE_LOCATION_H_
diff --git a/lib/ktl/include/ktl/span.h b/lib/ktl/include/ktl/span.h
deleted file mode 100644
index deb1df3..0000000
--- a/lib/ktl/include/ktl/span.h
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2020 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_SPAN_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_SPAN_H_
-
-#include <span>
-
-namespace ktl {
-
-using std::span;
-
-using std::as_bytes;
-using std::as_writable_bytes;
-
-using std::dynamic_extent;
-
-using std::data;
-using std::size;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_SPAN_H_
diff --git a/lib/ktl/include/ktl/string_view.h b/lib/ktl/include/ktl/string_view.h
deleted file mode 100644
index 9ba949f..0000000
--- a/lib/ktl/include/ktl/string_view.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2020 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_STRING_VIEW_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_STRING_VIEW_H_
-
-#include <string_view>
-
-namespace ktl {
-
-using std::basic_string_view;
-using std::string_view;
-
-} // namespace ktl
-
-// Just including <ktl/string_view.h> enables "foo"sv literals.
-using namespace std::literals::string_view_literals;
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_STRING_VIEW_H_
diff --git a/lib/ktl/include/ktl/tuple.h b/lib/ktl/include/ktl/tuple.h
deleted file mode 100644
index b00c7e0..0000000
--- a/lib/ktl/include/ktl/tuple.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2024 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_TUPLE_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_TUPLE_H_
-
-#include <tuple>
-
-namespace ktl {
-
-using std::apply;
-using std::forward_as_tuple;
-using std::get;
-using std::ignore;
-using std::make_from_tuple;
-using std::make_tuple;
-using std::tie;
-using std::tuple;
-using std::tuple_cat;
-using std::tuple_element;
-using std::tuple_element_t;
-using std::tuple_size;
-using std::tuple_size_v;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_TUPLE_H_
diff --git a/lib/ktl/include/ktl/type_traits.h b/lib/ktl/include/ktl/type_traits.h
deleted file mode 100644
index fc0a2f0..0000000
--- a/lib/ktl/include/ktl/type_traits.h
+++ /dev/null
@@ -1,165 +0,0 @@
-// Copyright 2019 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_TYPE_TRAITS_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_TYPE_TRAITS_H_
-
-#include <type_traits>
-
-namespace ktl {
-
-using std::add_const;
-using std::add_const_t;
-
-using std::is_array;
-using std::is_array_v;
-using std::is_bounded_array;
-using std::is_bounded_array_v;
-using std::is_unbounded_array;
-using std::is_unbounded_array_v;
-
-using std::false_type;
-using std::true_type;
-
-using std::conjunction;
-using std::conjunction_v;
-
-using std::disjunction;
-using std::disjunction_v;
-
-using std::conditional;
-using std::conditional_t;
-
-using std::decay;
-using std::decay_t;
-
-using std::void_t;
-
-using std::enable_if;
-using std::enable_if_t;
-
-using std::has_unique_object_representations;
-using std::has_unique_object_representations_v;
-
-using std::is_base_of;
-using std::is_base_of_v;
-
-using std::is_const;
-using std::is_const_v;
-
-using std::is_constructible;
-using std::is_constructible_v;
-
-using std::is_copy_constructible;
-using std::is_copy_constructible_v;
-
-using std::is_copy_assignable;
-using std::is_copy_assignable_v;
-
-using std::is_default_constructible;
-using std::is_default_constructible_v;
-
-using std::is_class;
-using std::is_class_v;
-
-using std::is_enum;
-using std::is_enum_v;
-
-using std::is_floating_point;
-using std::is_floating_point_v;
-
-using std::is_function;
-using std::is_function_v;
-
-using std::is_integral;
-using std::is_integral_v;
-
-using std::invoke_result_t;
-using std::is_invocable;
-using std::is_invocable_r;
-using std::is_invocable_r_v;
-using std::is_invocable_v;
-
-using std::is_lvalue_reference;
-using std::is_lvalue_reference_v;
-
-using std::is_move_constructible;
-using std::is_move_constructible_v;
-
-using std::is_move_assignable;
-using std::is_move_assignable_v;
-
-using std::is_pod;
-using std::is_pod_v;
-
-using std::is_same;
-using std::is_same_v;
-
-using std::is_signed;
-using std::is_signed_v;
-
-using std::is_standard_layout;
-using std::is_standard_layout_v;
-
-using std::is_empty;
-using std::is_empty_v;
-
-using std::is_trivial;
-using std::is_trivial_v;
-
-using std::is_trivially_copy_assignable;
-using std::is_trivially_copy_assignable_v;
-
-using std::is_trivially_copy_constructible;
-using std::is_trivially_copy_constructible_v;
-
-using std::is_trivially_constructible;
-using std::is_trivially_constructible_v;
-
-using std::is_trivially_destructible;
-using std::is_trivially_destructible_v;
-
-using std::is_trivially_move_assignable;
-using std::is_trivially_move_assignable_v;
-
-using std::is_trivially_move_constructible;
-using std::is_trivially_move_constructible_v;
-
-using std::is_member_object_pointer;
-using std::is_member_object_pointer_v;
-
-using std::is_unsigned;
-using std::is_unsigned_v;
-
-using std::is_void;
-using std::is_void_v;
-
-using std::make_signed;
-using std::make_signed_t;
-using std::make_unsigned;
-using std::make_unsigned_t;
-
-using std::remove_all_extents;
-using std::remove_all_extents_t;
-
-using std::remove_const;
-using std::remove_const_t;
-
-using std::remove_extent;
-using std::remove_extent_t;
-
-using std::remove_pointer;
-using std::remove_pointer_t;
-
-using std::remove_reference;
-using std::remove_reference_t;
-
-using std::underlying_type;
-using std::underlying_type_t;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_TYPE_TRAITS_H_
diff --git a/lib/ktl/include/ktl/unique_ptr.h b/lib/ktl/include/ktl/unique_ptr.h
deleted file mode 100644
index e2d2f39..0000000
--- a/lib/ktl/include/ktl/unique_ptr.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2018 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_INCLUDE_KTL_UNIQUE_PTR_H_
-#define ZIRCON_KERNEL_INCLUDE_KTL_UNIQUE_PTR_H_
-
-#include <memory>
-#include <new>
-
-#include <fbl/alloc_checker.h>
-#include <ktl/type_traits.h>
-
-namespace ktl {
-
-using std::align_val_t;
-using std::unique_ptr;
-
-template <typename T, typename... Args>
-ktl::enable_if_t<!ktl::is_array_v<T>, unique_ptr<T>> make_unique(fbl::AllocChecker* ac,
- Args&&... args) {
- return unique_ptr<T>(new (ac) T(std::forward<Args>(args)...));
-}
-
-// For an unbounded array of given size, each element is value-initialized.
-// This is different from plain `new (ac) T[n]`, which performs default-initialization.
-template <typename T, typename... Args>
-ktl::enable_if_t<ktl::is_unbounded_array_v<T>, unique_ptr<T>> make_unique(fbl::AllocChecker* ac,
- size_t n) {
- return unique_ptr<T>(new (ac) ktl::remove_extent_t<T>[n]());
-}
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_INCLUDE_KTL_UNIQUE_PTR_H_
diff --git a/lib/ktl/include/ktl/utility.h b/lib/ktl/include/ktl/utility.h
deleted file mode 100644
index 1e699e2..0000000
--- a/lib/ktl/include/ktl/utility.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2018 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_UTILITY_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_UTILITY_H_
-
-#include <utility>
-
-namespace ktl {
-
-using std::declval;
-using std::exchange;
-using std::forward;
-using std::move;
-using std::swap;
-
-using std::in_place;
-using std::in_place_index;
-using std::in_place_index_t;
-using std::in_place_t;
-
-using std::index_sequence;
-using std::index_sequence_for;
-using std::integer_sequence;
-using std::make_index_sequence;
-using std::make_integer_sequence;
-
-using std::get;
-using std::make_pair;
-using std::pair;
-using std::piecewise_construct;
-using std::piecewise_construct_t;
-
-using std::ignore;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_UTILITY_H_
diff --git a/lib/ktl/include/ktl/variant.h b/lib/ktl/include/ktl/variant.h
deleted file mode 100644
index 68ef362..0000000
--- a/lib/ktl/include/ktl/variant.h
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2020 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_VARIANT_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_VARIANT_H_
-
-#include <utility>
-#include <variant>
-
-namespace ktl {
-
-using std::get;
-using std::get_if;
-using std::holds_alternative;
-using std::in_place_type;
-using std::in_place_type_t;
-using std::monostate;
-using std::variant;
-using std::variant_alternative;
-using std::variant_alternative_t;
-using std::variant_npos;
-using std::variant_size;
-using std::variant_size_v;
-using std::visit;
-
-} // namespace ktl
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_KTL_VARIANT_H_
diff --git a/lib/ktl/include/limits b/lib/ktl/include/limits
deleted file mode 100644
index d8ea37d..0000000
--- a/lib/ktl/include/limits
+++ /dev/null
@@ -1,110 +0,0 @@
-// Copyright 2018 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#pragma once
-
-// TODO(https://fxbug.dev/42106615): The libc++ <limits> defines specializations for
-// floating-point types, which in GCC is incompatible with the command-line
-// switches used for the kernel. So this header fakes out the other libc++
-// headers with a std::numeric_limits that is close enough.
-
-#include <limits.h>
-
-namespace std {
-
-template <class T>
-class numeric_limits {};
-
-#define SPECIALIZE_INT(type, sign, modulo, digits_, min_, max_) \
- template <> \
- class numeric_limits<type> { \
- public: \
- static constexpr bool is_specialized = true; \
- static constexpr bool is_signed = (sign); \
- static constexpr bool is_integer = true; \
- static constexpr bool is_exact = true; \
- static constexpr bool has_infinity = false; \
- static constexpr bool has_quiet_NaN = false; \
- static constexpr bool has_signaling_NaN = false; \
- static constexpr bool has_denorm = false; \
- static constexpr bool has_denorm_loss = false; \
- static constexpr bool round_style = false; \
- static constexpr bool is_iec559 = false; \
- static constexpr bool is_bounded = true; \
- static constexpr bool is_modulo = (modulo); \
- static constexpr int digits = (digits_); \
- static constexpr int digits10 = (digits_) * 3 / 10; \
- static constexpr int max_digits10 = 0; \
- static constexpr int radix = 2; \
- static constexpr int min_exponent = 0; \
- static constexpr int min_exponent10 = 0; \
- static constexpr int max_exponent = 0; \
- static constexpr int max_exponent10 = 0; \
- static constexpr bool traps = false; \
- static constexpr bool tinyness_before = false; \
- static constexpr type min() { \
- return (min_); \
- } \
- static constexpr type lowest() { \
- return (min_); \
- } \
- static constexpr type max() { \
- return (max_); \
- } \
- static constexpr type epsilon() { \
- return 0; \
- } \
- static constexpr type round_error() { \
- return 0; \
- } \
- static constexpr type infinity() { \
- return 0; \
- } \
- static constexpr type quiet_NaN() { \
- return 0; \
- } \
- static constexpr type signaling_NaN() { \
- return 0; \
- } \
- static constexpr type denorm_min() { \
- return 0; \
- } \
- }
-
-#define SPECIALIZE_SIGNED(type, min, max) \
- SPECIALIZE_INT(type, true, false, CHAR_BIT * sizeof(type) - 1, min, max)
-
-#define SPECIALIZE_UNSIGNED(type, min, max) \
- SPECIALIZE_INT(type, false, true, CHAR_BIT * sizeof(type), min, max)
-
-SPECIALIZE_INT(bool, false, true, 1, false, true);
-#if CHAR_MIN == 0
-SPECIALIZE_UNSIGNED(char, CHAR_MIN, CHAR_MAX);
-#else
-SPECIALIZE_SIGNED(char, CHAR_MIN, CHAR_MAX);
-#endif
-SPECIALIZE_SIGNED(signed char, SCHAR_MIN, SCHAR_MAX);
-SPECIALIZE_UNSIGNED(unsigned char, 0, UCHAR_MAX);
-
-SPECIALIZE_SIGNED(short, SHRT_MIN, SHRT_MAX);
-SPECIALIZE_UNSIGNED(unsigned short, 0, USHRT_MAX);
-SPECIALIZE_SIGNED(int, INT_MIN, INT_MAX);
-SPECIALIZE_UNSIGNED(unsigned int, 0, UINT_MAX);
-SPECIALIZE_SIGNED(long, LONG_MIN, LONG_MAX);
-SPECIALIZE_UNSIGNED(unsigned long, 0, ULONG_MAX);
-SPECIALIZE_SIGNED(long long, (-__LONG_LONG_MAX__ - 1LL), __LONG_LONG_MAX__);
-SPECIALIZE_UNSIGNED(unsigned long long, 0, (__LONG_LONG_MAX__ * 2ULL + 1ULL));
-
-#ifdef __SIZEOF_INT128__
-SPECIALIZE_SIGNED(__int128_t, (__int128_t{1} << 127), (~__uint128_t{0} ^ (__int128_t{1} << 127)));
-SPECIALIZE_UNSIGNED(__uint128_t, 0, (~__uint128_t{0}));
-#endif
-
-#undef SPECIALIZE_SIGNED
-#undef SPECIALIZE_UNSIGNED
-#undef SPECIALIZE_INT
-
-} // namespace std
diff --git a/lib/ktl/include/time.h b/lib/ktl/include/time.h
deleted file mode 100644
index 138801f..0000000
--- a/lib/ktl/include/time.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2020 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_TIME_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_TIME_H_
-
-#include <stddef.h>
-
-// <zircon/time.h> uses these when __has_include(<time.h>).
-typedef long int time_t;
-struct timespec {
- time_t tv_sec;
- long int tv_nsec;
-};
-
-// The kernel doesn't want this file but some libc++ headers we need
-// wind up including it and they need these declarations.
-
-#ifdef __cplusplus
-
-using clock_t = long int;
-struct tm {};
-char* asctime(tm*) noexcept;
-clock_t clock() noexcept;
-char* ctime(const time_t*) noexcept;
-double difftime(time_t, time_t) noexcept;
-tm* gmtime(const time_t*) noexcept;
-tm* localtime(const time_t*) noexcept;
-time_t mktime(tm*) noexcept;
-size_t strftime(char*, size_t, const char*, const tm*) noexcept;
-time_t time(time_t*) noexcept;
-int timespec_get(timespec* ts, int) noexcept;
-
-#endif // __cplusplus
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_TIME_H_
diff --git a/lib/ktl/include/version b/lib/ktl/include/version
deleted file mode 100644
index ba04749..0000000
--- a/lib/ktl/include/version
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2024 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#pragma once
-
-#include_next <version>
-
-// We want to be able to implement specialization for std::formatter in common libraries for kernel
-// and userspace. By undefing it here, we allow those libraries to avoid exposing that code to the
-// kernel where it's not supported.
-#undef __cpp_lib_format
diff --git a/lib/ktl/include/wchar.h b/lib/ktl/include/wchar.h
deleted file mode 100644
index b3f2ccb..0000000
--- a/lib/ktl/include/wchar.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 The Fuchsia Authors
-//
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file or at
-// https://opensource.org/licenses/MIT
-
-#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_WCHAR_H_
-#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_WCHAR_H_
-
-// This file is included by <cstdio> and the like that are used from other
-// libc++ headers that are wrapped by ktl. This file exists to preempt those
-// inclusions so that libc++'s <wchar.h> wrapper header won't be used, since
-// it's not compatible with the kernel environment. However, other libc++
-// headers also use `#include_next <wchar.h>` to get to "the system libc"
-// version of the header. To satisfy those, include-after/wchar.h provides the
-// actual declarations needed from the standard C <wchar.h> API. So this
-// header just defers to that one, but must exist separately in this directory
-// so that it preempt's libc++'s wrapper. This can't itself use #include_next
-// because that would reach libc++'s wrapper before the include-after file.
-
-#include "../include-after/wchar.h"
-
-#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_WCHAR_H_