From 591f409ae654e8061619057cfa0eada76fb1502c Mon Sep 17 00:00:00 2001 From: Azat201003 Date: Mon, 23 Jun 2025 14:37:24 +0300 Subject: [PATCH 1/3] add default storage cretor --- src/Vector.h | 1 + src/Vector/VectorDefinitions.h | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/Vector.h b/src/Vector.h index 76abf32..bbe84e0 100644 --- a/src/Vector.h +++ b/src/Vector.h @@ -20,6 +20,7 @@ class Vector { public: Vector(); + Vector(int 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..5e67c51 100644 --- a/src/Vector/VectorDefinitions.h +++ b/src/Vector/VectorDefinitions.h @@ -20,6 +20,13 @@ Vector::Vector() size_ = 0; } +template +Vector::Vector(int max_size) +{ + T storage[max_size]; + setStorage(storage); +} + template template Vector::Vector(T (&values)[MAX_SIZE], From 476c00b6ae4dae5487dc29060e8f17058290fc72 Mon Sep 17 00:00:00 2001 From: Azat201003 Date: Mon, 23 Jun 2025 14:45:07 +0300 Subject: [PATCH 2/3] seen tests --- examples/VectorTester/VectorTester.ino | 10 ++++++++++ 1 file changed, 10 insertions(+) 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); + } From 5f0e5ea05d94a5c74a16f90a2616a7a16c2ba50d Mon Sep 17 00:00:00 2001 From: Azat201003 Date: Mon, 23 Jun 2025 15:24:23 +0300 Subject: [PATCH 3/3] int->size_t --- src/Vector.h | 2 +- src/Vector/VectorDefinitions.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Vector.h b/src/Vector.h index bbe84e0..4b71337 100644 --- a/src/Vector.h +++ b/src/Vector.h @@ -20,7 +20,7 @@ class Vector { public: Vector(); - Vector(int max_size); + 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 5e67c51..f679f8a 100644 --- a/src/Vector/VectorDefinitions.h +++ b/src/Vector/VectorDefinitions.h @@ -21,7 +21,7 @@ Vector::Vector() } template -Vector::Vector(int max_size) +Vector::Vector(size_t max_size) { T storage[max_size]; setStorage(storage);