Skip to content

Commit 381e60f

Browse files
committed
Added stream operator overload for printing.
1 parent ee372a5 commit 381e60f

File tree

2 files changed

+23
-20
lines changed

2 files changed

+23
-20
lines changed

Vector.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,23 @@ class Vector
5050
size_t max_size_;
5151
size_t size_;
5252
};
53+
54+
template <typename T>
55+
inline Print &operator <<(Print &stream, const Vector<T> &vector)
56+
{
57+
stream.print("[");
58+
for (int i=0; i<vector.size(); i++)
59+
{
60+
if (i != 0)
61+
{
62+
stream.print(",");
63+
}
64+
stream.print(vector[i]);
65+
}
66+
stream.print("]");
67+
return stream;
68+
}
69+
5370
#include "VectorDefinitions.h"
5471

5572
#endif

examples/VectorTester/VectorTester.ino

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,6 @@ const int BAUDRATE = 9600;
77

88
const int ELEMENT_COUNT_MAX = 5;
99

10-
void printVector(Vector<int> vector)
11-
{
12-
Serial << "[";
13-
for (int i=0; i<vector.size(); i++)
14-
{
15-
if (i != 0)
16-
{
17-
Serial << ",";
18-
}
19-
Serial << vector[i];
20-
}
21-
Serial << "]" << endl << endl;
22-
}
23-
2410
void setup()
2511
{
2612
Serial.begin(BAUDRATE);
@@ -32,15 +18,15 @@ void setup()
3218
Serial << "vector.max_size(): " << vector.max_size() << endl;
3319
Serial << "vector.size(): " << vector.size() << endl;
3420
Serial << "vector:" << endl;
35-
printVector(vector);
21+
Serial << vector << endl;
3622

3723
vector.push_back(10);
3824
vector.push_back(8);
3925
vector.push_back(7);
4026
Serial << "vector.max_size(): " << vector.max_size() << endl;
4127
Serial << "vector.size(): " << vector.size() << endl;
4228
Serial << "vector:" << endl;
43-
printVector(vector);
29+
Serial << vector << endl;
4430

4531
int storage_array2[ELEMENT_COUNT_MAX];
4632
Vector<int> vector2(storage_array2);
@@ -51,7 +37,7 @@ void setup()
5137
Serial << "vector2.max_size(): " << vector2.max_size() << endl;
5238
Serial << "vector2.size(): " << vector2.size() << endl;
5339
Serial << "vector2:" << endl;
54-
printVector(vector2);
40+
Serial << vector2 << endl;
5541

5642
int storage_array3[ELEMENT_COUNT_MAX];
5743
storage_array3[0] = 3;
@@ -60,7 +46,7 @@ void setup()
6046
Serial << "vector3.max_size(): " << vector3.max_size() << endl;
6147
Serial << "vector3.size(): " << vector3.size() << endl;
6248
Serial << "vector3:" << endl;
63-
printVector(vector3);
49+
Serial << vector3 << endl;
6450

6551
int storage_array4[ELEMENT_COUNT_MAX];
6652
storage_array4[0] = 3;
@@ -69,14 +55,14 @@ void setup()
6955
Serial << "vector4.max_size(): " << vector4.max_size() << endl;
7056
Serial << "vector4.size(): " << vector4.size() << endl;
7157
Serial << "vector4:" << endl;
72-
printVector(vector4);
58+
Serial << vector4 << endl;
7359

7460
int storage_array5[1];
7561
Vector<int> vector5(storage_array5);
7662
Serial << "vector5.max_size(): " << vector5.max_size() << endl;
7763
Serial << "vector5.size(): " << vector5.size() << endl;
7864
Serial << "vector5:" << endl;
79-
printVector(vector5);
65+
Serial << vector5 << endl;
8066
}
8167

8268

0 commit comments

Comments
 (0)