| 10 | # include <utility> |
| 11 | |
| 12 | constexpr auto ReverseBytes(std::integral auto value) |
| 13 | { |
| 14 | return [&]<size_t... I>(std::index_sequence<I...>) -> decltype(value) { |
| 15 | return ( |
| 16 | (((value >> I * 8) & 0xff) << ((8 * sizeof(value)) - ((1 + I) * 8))) | |
| 17 | ...); |
| 18 | }(std::make_index_sequence<sizeof(value)>{}); |
| 19 | } |
| 20 | |
| 21 | constexpr auto ByteSwap(std::integral auto value) |
| 22 | { |