First commit for ICMP capabilities, added CPU::GetCacheLineSize(), and removed BaseObj from containers.
This commit is contained in:
@@ -14,7 +14,7 @@ namespace ehs
|
||||
/// @tparam N Number data type to use.
|
||||
/// @note If extra memory is set to five then each time that memory is filled it will add five extra.
|
||||
template<typename T, typename N = UInt_64>
|
||||
class Vector : public BaseObj
|
||||
class Vector
|
||||
{
|
||||
protected:
|
||||
N rawSize;
|
||||
@@ -24,7 +24,7 @@ namespace ehs
|
||||
|
||||
public:
|
||||
/// Frees any data created on the heap.
|
||||
~Vector() override
|
||||
~Vector()
|
||||
{
|
||||
delete[] data;
|
||||
}
|
||||
@@ -33,7 +33,6 @@ namespace ehs
|
||||
Vector()
|
||||
: rawSize(0), size(0), stride(5), data(nullptr)
|
||||
{
|
||||
AddType("Vector");
|
||||
}
|
||||
|
||||
/// Initializes members for pre-allocated memory to write to later.
|
||||
@@ -42,7 +41,6 @@ namespace ehs
|
||||
Vector(const N size, const N stride)
|
||||
: rawSize(size + stride), size(size), stride(stride), data(new T[rawSize])
|
||||
{
|
||||
AddType("Vector");
|
||||
}
|
||||
|
||||
/// Initializes this vector with an initializer list object.
|
||||
@@ -51,8 +49,6 @@ namespace ehs
|
||||
Vector(std::initializer_list<T> list, const N stride = 5)
|
||||
: rawSize(0), size(list.size()), stride(stride), data(nullptr)
|
||||
{
|
||||
AddType("Vector");
|
||||
|
||||
if (stride)
|
||||
{
|
||||
rawSize = list.size() / stride * stride;
|
||||
@@ -78,8 +74,6 @@ namespace ehs
|
||||
Vector(const T* data, const N size, const N stride)
|
||||
: rawSize(0), size(size), stride(stride), data(nullptr)
|
||||
{
|
||||
AddType("Vector");
|
||||
|
||||
if (stride)
|
||||
{
|
||||
rawSize = size / stride * stride;
|
||||
@@ -100,14 +94,14 @@ namespace ehs
|
||||
/// Copies all members from the given vector object.
|
||||
/// @param [in] vec The vector object to copy from.
|
||||
Vector(const Vector& vec)
|
||||
: BaseObj(vec), rawSize(vec.rawSize), size(vec.size), stride(vec.stride), data(new T[rawSize])
|
||||
: rawSize(vec.rawSize), size(vec.size), stride(vec.stride), data(new T[rawSize])
|
||||
{
|
||||
for (N i = 0; i < size; ++i)
|
||||
data[i] = vec.data[i];
|
||||
}
|
||||
|
||||
Vector(Vector&& vec) noexcept
|
||||
: BaseObj((BaseObj&&)vec), rawSize(vec.rawSize), size(vec.size), stride(vec.stride), data(vec.data)
|
||||
: rawSize(vec.rawSize), size(vec.size), stride(vec.stride), data(vec.data)
|
||||
{
|
||||
vec.rawSize = 0;
|
||||
vec.size = 0;
|
||||
@@ -123,8 +117,6 @@ namespace ehs
|
||||
if (this == &vec)
|
||||
return *this;
|
||||
|
||||
BaseObj::operator=(vec);
|
||||
|
||||
rawSize = vec.rawSize;
|
||||
size = vec.size;
|
||||
stride = vec.stride;
|
||||
@@ -143,8 +135,6 @@ namespace ehs
|
||||
if (this == &vec)
|
||||
return *this;
|
||||
|
||||
BaseObj::operator=((BaseObj&&)vec);
|
||||
|
||||
rawSize = vec.rawSize;
|
||||
size = vec.size;
|
||||
stride = vec.stride;
|
||||
|
Reference in New Issue
Block a user