Files
VisualSapfor/Planner/Array.h

37 lines
517 B
C
Raw Normal View History

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