Files
VisualSapfor/src/files/Array.h

37 lines
517 B
C
Raw Normal View History

2023-12-03 19:43:41 +03:00
#pragma once
2023-09-17 22:13:42 +03:00
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
2023-12-03 19:43:41 +03:00
#include <vector>
2023-09-17 22:13:42 +03:00
template <class T>
class Array {
2023-12-03 19:43:41 +03:00
private:
std::vector<T*> elements;
2023-09-17 22:13:42 +03:00
public:
2023-12-03 19:43:41 +03:00
Array() { }
virtual ~Array() {
for (auto& elem : elements)
delete elem;
elements.clear();
2023-09-17 22:13:42 +03:00
}
2023-12-03 19:43:41 +03:00
void add(T* new_line) {
elements.push_back(new_line);
2023-09-17 22:13:42 +03:00
}
2023-12-03 19:43:41 +03:00
long getLength() const {
return (long)elements.size();
2023-09-17 22:13:42 +03:00
}
2023-12-03 19:43:41 +03:00
T* get(long i) {
return elements[i];
2023-09-17 22:13:42 +03:00
}
2023-12-03 19:43:41 +03:00
const std::vector<T*>& getElements() const {
2023-09-17 22:13:42 +03:00
return elements;
}
};