diff --git a/examples/VectorTester/VectorTester.ino b/examples/VectorTester/VectorTester.ino index 6e6579c..a077603 100644 --- a/examples/VectorTester/VectorTester.ino +++ b/examples/VectorTester/VectorTester.ino @@ -97,4 +97,14 @@ void loop() Serial << "vector6:" << endl; Serial << vector6 << endl; delay(DELAY); + +c Elements vector7(4); + vector7.push_back(3); + vector7.push_back(2); + Serial << "vector7.max_size(): " << vector5.max_size() << endl; + Serial << "vector7.size(): " << vector5.size() << endl; + Serial << "vector7:" << endl; + Serial << vector7 << endl; + delay(DELAY); + } diff --git a/src/Vector.h b/src/Vector.h index 76abf32..4b71337 100644 --- a/src/Vector.h +++ b/src/Vector.h @@ -20,6 +20,7 @@ class Vector { public: Vector(); + Vector(size_t max_size); template Vector(T (&values)[MAX_SIZE], size_t size=0); diff --git a/src/Vector/VectorDefinitions.h b/src/Vector/VectorDefinitions.h index ad61d32..f679f8a 100644 --- a/src/Vector/VectorDefinitions.h +++ b/src/Vector/VectorDefinitions.h @@ -20,6 +20,13 @@ Vector::Vector() size_ = 0; } +template +Vector::Vector(size_t max_size) +{ + T storage[max_size]; + setStorage(storage); +} + template template Vector::Vector(T (&values)[MAX_SIZE],