summaryrefslogtreecommitdiff
path: root/lib/ktl/include/cwchar
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ktl/include/cwchar')
-rw-r--r--lib/ktl/include/cwchar62
1 files changed, 0 insertions, 62 deletions
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