core: convert taxonomy.c to C++

Since the taxonomy is now a real C++ struct with constructor
and destructor, dive_site has to be converted to C++ as well.

A bit hairy for now, but will ultimately be distinctly simpler.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2024-05-04 13:39:04 +02:00 committed by bstoeger
parent 3c1401785b
commit 3f8b4604be
39 changed files with 259 additions and 336 deletions

View file

@ -141,9 +141,9 @@ static std::vector<QString> getWords(const dive *d)
// take the tokens from a cache.
if (d->dive_site) {
tokenize(d->dive_site->name, res);
const char *country = taxonomy_get_country(&d->dive_site->taxonomy);
if (country)
tokenize(country, res);
std::string country = taxonomy_get_country(d->dive_site->taxonomy);
if (!country.empty())
tokenize(country.c_str(), res);
}
// TODO: We should index trips separately!
if (d->divetrip)