7#ifndef ARP_USE_ARP_SYSTEM_CORE
8#include "Arp/Base/Core/ByteConverter.hpp"
19 ByteConverter(
void) =
delete;
20 ByteConverter(
const ByteConverter& arg) =
delete;
21 ByteConverter& operator=(
const ByteConverter& arg) =
delete;
22 ~ByteConverter(
void) =
delete;
29 static void Swap(T& value);
34 static void Swap(
byte* pBuffer,
size_t size);
44 static void Swap(
byte& value);
58 static void ReverseCopy(
const T& source, T& target);
64 static void ReverseCopy(
const byte* pSource,
byte* pTarget,
size_t size);
72 Swap((
byte*)&value,
sizeof(T));
77 std::reverse(pBuffer, pBuffer + size);
93 std::swap(*
reinterpret_cast<byte*
>(&value), *(
reinterpret_cast<byte*
>(&value) + 1));
99 std::swap(*
reinterpret_cast<byte*
>(&value), *(
reinterpret_cast<byte*
>(&value) + 1));
104 std::reverse_copy(pSource, pSource + size, pTarget);
110 const byte* pSource =
reinterpret_cast<const byte*
>(&source);
111 byte* pTarget =
reinterpret_cast<byte*
>(&target);
112 std::reverse_copy(pSource, pSource +
sizeof(T), pTarget);
static void ReverseCopy(const T &source, T &target)
Copies the reverted bytes of the source argument to the target argument.
Definition: ByteConverter.hpp:48
static void Swap(T &value)
Swaps the bytes of the as argument passed value of any primitive type.
Definition: ByteConverter.hpp:39
std::int16_t int16
The Arp integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:31
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:29
std::int8_t int8
The Arp integer type of 1 byte size.
Definition: PrimitiveTypes.hpp:27
Root namespace for the PLCnext API