core: move add_to_weightsystem_table() to weightsystem_table

Feels natural in a C++ code base.

In analogy to other tables, this creates a struct that derives
from std::vector<>. This is generally frowned upon, but it works
and is the pragmatic thing for now. If someone wants to "fix" that,
they may just do it.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2024-07-01 21:54:59 +02:00 committed by bstoeger
parent 498302dcc6
commit 650fda3221
4 changed files with 8 additions and 7 deletions

View file

@ -312,10 +312,10 @@ void remove_weightsystem(struct dive *dive, int idx)
dive->weightsystems.erase(dive->weightsystems.begin() + idx);
}
void add_to_weightsystem_table(weightsystem_table *table, int idx, weightsystem_t ws)
void weightsystem_table::add(int idx, weightsystem_t ws)
{
idx = std::clamp(idx, 0, static_cast<int>(table->size()));
table->insert(table->begin() + idx, std::move(ws));
idx = std::clamp(idx, 0, static_cast<int>(size()));
insert(begin() + idx, std::move(ws));
}
void set_weightsystem(struct dive *dive, int idx, weightsystem_t ws)