map: use value semantics for MapLocation

This makes memory management more simple, as not explicit deletion
is necessary.

A rather large commit, because changing QVector<> to std::vector<>
is propagated up the call chain.

Adds a new range_contains() helper function for collection
types such as std::vector<>. I didn't want to call it
contains(), since we already have a contains function
for strings and let's keep argument overloading simple.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2024-05-11 13:21:53 +02:00 committed by bstoeger
parent e39dea3d68
commit 6b835710bc
17 changed files with 84 additions and 75 deletions

View file

@ -98,4 +98,11 @@ int index_of_if(const Range &range, Func f)
return it == std::end(range) ? -1 : it - std::begin(range);
}
// Not really appropriate here, but oh my.
template<typename Range, typename Element>
bool range_contains(const Range &v, const Element &item)
{
return std::find(v.begin(), v.end(), item) != v.end();
}
#endif