Code optimizations

This commit is contained in:
TheDoctor
2019-10-13 22:35:28 +01:00
parent 5e401247b1
commit 32473472e4
23 changed files with 98 additions and 136 deletions

View File

@ -0,0 +1,33 @@
#pragma once
// i want to use bitshifting but i red in stackoverflow that casting doesnt generate overhead
// now ive hit a wall
// casting vs bitshifting
#include <cstdint>
#include <cstring>
namespace std
{
class ByteConverter
{
public:
template<typename T>
inline static uint8_t *ToBytes(T value)
{
uint8_t *data = new uint8_t[sizeof(T)]();
memcpy(data, &value, sizeof(T));
return data;
}
template<typename T>
inline static T FromBytes(uint8_t *data)
{
if (!data)
throw std::invalid_argument("cant have null parameter -> ByteConverter::FromBytes");
T value;
memcpy(&value, data, sizeof(T));
return value;
}
};
}