diff --git a/tstl/include/vector.hpp b/tstl/include/vector.hpp index 2b0c72ad..ea6cb3bd 100644 --- a/tstl/include/vector.hpp +++ b/tstl/include/vector.hpp @@ -8,6 +8,8 @@ #ifndef VECTOR_H #define VECTOR_H +#include + #include #include #include @@ -32,8 +34,13 @@ private: public: vector() : data(nullptr), _size(0), _capacity(0) {} + explicit vector(uint64_t c) : data(new T[c]), _size(0), _capacity(c) {} + vector(initializer_list values) : data(new T[values.size()]), _size(values.size()), _capacity(values.size()) { + std::copy(values.begin(), values.end(), begin()); + } + vector(const vector& rhs) : data(nullptr), _size(rhs._size), _capacity(rhs._capacity) { if(!rhs.empty()){ data = new T[_capacity];