pw_polyfill: Support std::endian from <bit>
- Implement std::endian from <bit> (__cpp_lib_endian).
- Replace pw::ByteOrder with std::endian.
- Update the <span> header to use the same approach as <bit> and define
the appropriate std::span feature macro.
Change-Id: I5575bde6efbabf71bac66d7f4dc2c2c136ae156f
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/17463
Commit-Queue: Wyatt Hepler <hepler@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
diff --git a/pw_polyfill/docs.rst b/pw_polyfill/docs.rst
index 19a9323..25bcee0 100644
--- a/pw_polyfill/docs.rst
+++ b/pw_polyfill/docs.rst
@@ -47,6 +47,7 @@
Header Feature Level of support Feature test macro
================== ================================ ============================================ ========================================
<array> std::to_array full __cpp_lib_to_array
+<bit> std::endian full __cpp_lib_endian
<cstdlib> std::byte full; some operators not constexpr in C++11 __cpp_lib_byte
<iterator> std::data, std::size full __cpp_lib_nonmember_container_access
<type_traits> \*_t trait aliases partial (can expand as needed) __cpp_lib_transformation_trait_aliases