Restructure project directories

This commit is contained in:
2019-05-01 19:11:06 +02:00
parent 5e0a815f26
commit db777837ee
7 changed files with 2 additions and 2 deletions

42
sequential/vector.hpp Normal file
View File

@@ -0,0 +1,42 @@
#include <cstdlib>
#include <stdexcept>
template<class T>
class Vector
{
protected:
T * data;
std::size_t size;
public:
void Resize(std::size_t const newSize)
{
void * result = std::realloc(data, newSize * sizeof(T));
if(result == nullptr)
{
throw std::runtime_error("Cannot allocate the requested size of memory.");
}
size = newSize;
data = reinterpret_cast<T *>(result);
}
T & operator[](std::size_t const index)
{
if(index >= size)
{
throw std::out_of_range("Index is greater or equal to size.");
}
return data[index];
}
std::size_t GetSize() const
{
return size;
}
Vector()
: data(nullptr),
size(0U)
{}
};