// ArduinoJson - https://arduinojson.org // Copyright Benoit Blanchon 2014-2021 // MIT License #pragma once #include "lib/ArduinoJson/Polyfills/type_traits.hpp" #include "lib/ArduinoJson/Polyfills/utility.hpp" namespace ARDUINOJSON_NAMESPACE { #if ARDUINOJSON_LITTLE_ENDIAN inline void fixEndianess(uint8_t *p, integral_constant) { swap(p[0], p[7]); swap(p[1], p[6]); swap(p[2], p[5]); swap(p[3], p[4]); } inline void fixEndianess(uint8_t *p, integral_constant) { swap(p[0], p[3]); swap(p[1], p[2]); } inline void fixEndianess(uint8_t *p, integral_constant) { swap(p[0], p[1]); } inline void fixEndianess(uint8_t *, integral_constant) {} template inline void fixEndianess(T &value) { fixEndianess(reinterpret_cast(&value), integral_constant()); } #else template inline void fixEndianess(T &) {} #endif } // namespace ARDUINOJSON_NAMESPACE