refactor: map::array_t now extends std::vector, instead of shelling it

This commit is contained in:
TopchetoEU 2022-10-17 22:22:38 +03:00
parent e2e180b9a5
commit ef79208438

View File

@ -108,25 +108,5 @@ namespace ppc::data {
} }
}; };
class array_t { class array_t : public std::vector<value_t> { };
private:
std::vector<value_t> values;
public:
value_t &operator [](std::size_t i) { return values[i]; }
const value_t &operator [](std::size_t i) const { return values[i]; }
auto begin() const { return values.begin(); }
auto end() const { return values.end(); }
void push(const value_t &val) { values.push_back(val); }
void insert(const value_t &val, std::size_t i = 0) { values.insert(begin() + i, val); }
void pop() { values.pop_back(); }
void remove(std::size_t i = 0) { values.erase(begin() + i); }
std::size_t size() const { return values.size(); }
array_t() { }
array_t(const std::vector<value_t> &val): values(val) { }
array_t(std::initializer_list<value_t> val): values(val) { }
};
} }