From 52d4375b10d920a59f1309c272a2e525feb1c25d Mon Sep 17 00:00:00 2001 From: Roland Reichwein Date: Sat, 1 Jan 2022 20:25:34 +0100 Subject: Separated out headers files; optimizations; type traits; better naming --- include/unicode/endian.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 include/unicode/endian.h (limited to 'include/unicode/endian.h') diff --git a/include/unicode/endian.h b/include/unicode/endian.h new file mode 100644 index 0000000..38bc1b7 --- /dev/null +++ b/include/unicode/endian.h @@ -0,0 +1,26 @@ +#pragma once + +#if __cplusplus >= 202002L +#include +#endif + +namespace unicode::detail { + +#if __cplusplus >= 202002L + consteval +#else + constexpr uint16_t endian_value{0x0102}; + constexpr uint8_t endian_value_1st_byte{(const uint8_t&)endian_value}; + + constexpr +#endif + bool is_little_endian() + { +#if __cplusplus >= 202002L + return std::endian::native == std::endian::little; +#else + return endian_value_1st_byte == 0x02; +#endif + } + +} // namespace unicode::detail -- cgit v1.2.3