std::endian
提供: cppreference.com
ヘッダ <bit> で定義
|
||
enum class endian { |
(1) | (C++20以上) |
すべてのスカラー型のエンディアンを表します。
- すべてのスカラー型がリトルエンディアンの場合、
std::endian::native
はstd::endian::little
と等しくなります - すべてのスカラー型がビッグエンディアンの場合、
std::endian::native
はstd::endian::big
と等しくなります
コーナーケースにあるプラットフォームもサポートされます。
- すべてのスカラー型の sizeof が 1 である場合、エンディアンは意味をなさず、3つの値
std::endian::little
,std::endian::big
,std::endian::native
はすべて等しくなります - 混合エンディアンを使用するプラットフォームの場合、
std::endian::native
はstd::endian::big
およびstd::endian::little
のいずれとも等しくありません
[編集] 実装例
enum class endian { #ifdef _WIN32 little = 0, big = 1, native = little #else little = __ORDER_LITTLE_ENDIAN__, big = __ORDER_BIG_ENDIAN__, native = __BYTE_ORDER__ #endif };
[編集] 例
This section is incomplete Reason: no example |