diff options
Diffstat (limited to 'include/bit')
-rw-r--r-- | include/bit | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/include/bit b/include/bit index 1c0e8ad3ba8b..8800b22b7bcb 100644 --- a/include/bit +++ b/include/bit @@ -42,6 +42,13 @@ namespace std { template<class T> constexpr int popcount(T x) noexcept; // C++20 + // 20.15.9, endian + enum class endian { + little = see below, // C++20 + big = see below, // C++20 + native = see below // C++20 +}; + } // namespace std */ @@ -456,6 +463,20 @@ log2p1(_Tp __t) noexcept return __t == 0 ? 0 : __bit_log2(__t) + 1; } + +enum class endian +{ + little = 0xDEAD, + big = 0xFACE, +#if defined(_LIBCPP_LITTLE_ENDIAN) + native = little +#elif defined(_LIBCPP_BIG_ENDIAN) + native = big +#else + native = 0xCAFE +#endif +}; + #endif // _LIBCPP_STD_VER > 17 _LIBCPP_END_NAMESPACE_STD |