diff options
author | Xin Li <delphij@google.com> | 2024-01-17 22:13:58 -0800 |
---|---|---|
committer | Xin Li <delphij@google.com> | 2024-01-17 22:13:58 -0800 |
commit | 28d03a2a1cabbe01d7bcb6cf5166c10e50d3c2c6 (patch) | |
tree | c1643be8ab17fc607cea748a8bb1d621a5964873 /pw_polyfill/standard_library_public/pw_polyfill/standard_library/cstddef.h | |
parent | ec2628a6ba2d0ecbe3ac10c8c772f6fc6acc345d (diff) | |
parent | f054515492af5132f685cb23fe11891ee77104c9 (diff) | |
download | pigweed-28d03a2a1cabbe01d7bcb6cf5166c10e50d3c2c6.tar.gz |
Merge Android 24Q1 Release (ab/11220357)temp_319669529
Bug: 319669529
Merged-In: Iba357b308a79d0c8b560acd4f72b5423c9c83294
Change-Id: Icdf552029fb97a34e83c6dd7799433fc473a2506
Diffstat (limited to 'pw_polyfill/standard_library_public/pw_polyfill/standard_library/cstddef.h')
-rw-r--r-- | pw_polyfill/standard_library_public/pw_polyfill/standard_library/cstddef.h | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/pw_polyfill/standard_library_public/pw_polyfill/standard_library/cstddef.h b/pw_polyfill/standard_library_public/pw_polyfill/standard_library/cstddef.h deleted file mode 100644 index fc6bfa26c..000000000 --- a/pw_polyfill/standard_library_public/pw_polyfill/standard_library/cstddef.h +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2020 The Pigweed Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); you may not -// use this file except in compliance with the License. You may obtain a copy of -// the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations under -// the License. -#pragma once - -#include <cstddef> - -#include "pw_polyfill/standard_library/namespace.h" - -// Defines the std::byte type if it is not present. -#ifndef __cpp_lib_byte -#define __cpp_lib_byte 201603L - -_PW_POLYFILL_BEGIN_NAMESPACE_STD - -enum class byte : unsigned char {}; - -template <typename I> -constexpr I to_integer(byte b) noexcept { - return I(b); -} - -constexpr byte operator|(byte l, byte r) noexcept { - return byte(static_cast<unsigned int>(l) | static_cast<unsigned int>(r)); -} - -constexpr byte operator&(byte l, byte r) noexcept { - return byte(static_cast<unsigned int>(l) & static_cast<unsigned int>(r)); -} - -constexpr byte operator^(byte l, byte r) noexcept { - return byte(static_cast<unsigned int>(l) ^ static_cast<unsigned int>(r)); -} - -constexpr byte operator~(byte b) noexcept { - return byte(~static_cast<unsigned int>(b)); -} - -template <typename I> -constexpr byte operator<<(byte b, I shift) noexcept { - return byte(static_cast<unsigned int>(b) << shift); -} - -template <typename I> -constexpr byte operator>>(byte b, I shift) noexcept { - return byte(static_cast<unsigned int>(b) >> shift); -} - -constexpr byte& operator|=(byte& l, byte r) noexcept { return l = l | r; } -constexpr byte& operator&=(byte& l, byte r) noexcept { return l = l & r; } -constexpr byte& operator^=(byte& l, byte r) noexcept { return l = l ^ r; } - -template <typename I> -constexpr byte& operator<<=(byte& b, I shift) noexcept { - return b = b << shift; -} - -template <typename I> -constexpr byte& operator>>=(byte& b, I shift) noexcept { - return b = b >> shift; -} - -_PW_POLYFILL_END_NAMESPACE_STD - -#endif // __cpp_lib_byte |