1#ifndef TATOOINE_SWAP_ENDIANESS_H
2#define TATOOINE_SWAP_ENDIANESS_H
8template <
typename Data>
10 constexpr auto size =
sizeof(Data);
11 using mem_t =
unsigned char *;
12 auto mem =
reinterpret_cast<mem_t
>(&data);
15 for (
size_t i = 0; i <
size / 2; i++) {
16 std::swap(mem[i], mem[
size - 1 - i]);
21template <
typename Data>
23 constexpr size_t size =
sizeof(Data);
24 using mem_t =
unsigned char *;
25 for (
size_t i = 0; i < n; ++i) {
26 auto mem =
reinterpret_cast<mem_t
>(&data[i]);
28 for (
size_t j = 0; j <
size / 2; j++) {
29 std::swap(mem[j], mem[
size - 1 - j]);
34template <
typename Data>
Definition: algorithm.h:6
constexpr Data swap_endianess(Data data)
Definition: swap_endianess.h:9
auto size(vec< ValueType, N > const &v)
Definition: vec.h:148