First commit for ICMP capabilities, added CPU::GetCacheLineSize(), and removed BaseObj from containers.

This commit is contained in:
2025-03-23 03:10:35 -07:00
parent 39bbcd0d56
commit 352b4d612f
12 changed files with 421 additions and 58 deletions

View File

@@ -21,7 +21,7 @@
namespace ehs
{
template<typename N = UInt_64>
class Serializer : public BaseObj
class Serializer
{
private:
Endianness endianness;
@@ -30,7 +30,7 @@ namespace ehs
N offset;
public:
~Serializer() override
~Serializer()
{
delete[] data;
}
@@ -38,32 +38,27 @@ namespace ehs
Serializer()
: endianness(Endianness::BE), data(nullptr), size(0), offset(0)
{
AddType("Serializer");
}
Serializer(const Endianness endianness)
: endianness(endianness), data(nullptr), size(0), offset(0)
{
AddType("Serializer");
}
Serializer(const Endianness endianness, const N size)
: endianness(endianness), data(new Byte[size]), size(size), offset(0)
{
AddType("Serializer");
}
Serializer(const Endianness endianness, const Byte* const data, const N size, const N offset = 0)
: endianness(endianness), data(new Byte[size]), size(size), offset(offset)
{
AddType("Serializer");
for (N i = 0; i < size; ++i)
this->data[i] = data[i];
}
Serializer(Serializer&& serializer) noexcept
: BaseObj((BaseObj&&)serializer), endianness(serializer.endianness), data(serializer.data),
: endianness(serializer.endianness), data(serializer.data),
size(serializer.size), offset(serializer.offset)
{
serializer.data = nullptr;
@@ -72,7 +67,7 @@ namespace ehs
}
Serializer(const Serializer& serializer)
: BaseObj(serializer), endianness(serializer.endianness), data(new Byte[serializer.size]),
: endianness(serializer.endianness), data(new Byte[serializer.size]),
size(serializer.size), offset(serializer.offset)
{
for (N i = 0; i < serializer.size; ++i)
@@ -84,8 +79,6 @@ namespace ehs
if (this == &serializer)
return *this;
BaseObj::operator=((Serializer&&)serializer);
endianness = serializer.endianness;
delete[] data;
data = serializer.data;
@@ -104,8 +97,6 @@ namespace ehs
if (this == &serializer)
return *this;
BaseObj::operator=(serializer);
endianness = serializer.endianness;
delete[] data;
@@ -1228,7 +1219,7 @@ namespace ehs
void Resize(const N newSize)
{
Byte* result = new Byte[newSize];
Util::Copy(result, data, size);
Util::Copy(result, data, newSize >= size ? size : newSize);
delete[] data;
data = result;
size = newSize;