GPR5100 - Rollback
Loading...
Searching...
No Matches
conversion.h
1#pragma once
2
3#include <array>
4#include <cstdint>
5#include <cstring>
6
7namespace core
8{
15template<typename T>
16T ConvertFromBinary(const std::array<std::uint8_t, sizeof(T)>& data)
17{
18 T result;
19 auto* resultPtr = reinterpret_cast<std::uint8_t*>(&result);
20 std::memcpy(resultPtr, data.data(), sizeof(T));
21 return result;
22}
23
30template<typename T>
31std::array<std::uint8_t, sizeof(T)> ConvertToBinary(T data)
32{
33 std::array<std::uint8_t, sizeof(T)> result{};
34 const auto* dataPtr = reinterpret_cast<std::uint8_t*>(&data);
35 std::memcpy(result.data(), dataPtr, sizeof(T));
36 return result;
37
38}
39} // namespace core