Files
Simple-Protocol-Lib/include/sp/common/ByteSwapping.h
Persson-dev 073872df94
All checks were successful
Linux arm64 / Build (push) Successful in 15s
byte swapping
2025-06-26 14:43:27 +02:00

38 lines
717 B
C++

#pragma once
#include <cstdint>
namespace sp {
/**
* \brief Serialize value to (network byte order) big endian
*/
template <typename T>
void ToNetwork(T& value) {}
template <>
void ToNetwork<std::uint16_t>(std::uint16_t& value);
template <>
void ToNetwork<std::uint32_t>(std::uint32_t& value);
template <>
void ToNetwork<std::uint64_t>(std::uint64_t& value);
/**
* \brief Deserialize value from (network byte order) big endian
*/
template <typename T>
void FromNetwork(T& value) {}
template <>
void FromNetwork<std::uint16_t>(std::uint16_t& value);
template <>
void FromNetwork<std::uint32_t>(std::uint32_t& value);
template <>
void FromNetwork<std::uint64_t>(std::uint64_t& value);
} // namespace sp