x
Size: a a a
x
VA
A
A
A
fileA
A
A
A
A
VA
VA
A
VA
A
A
VA
A
O
template <typename T1, typename T2>
std::vector<T2> removeUnpaired(std::map<T1, T2> const& map, std::vector<T2> const& vec)
{
namespace r = ranges;
std::vector<T2> ret = vec;
r::sort(ret);
r::set_intersection(
map | r::views::transform([](auto const& p) -> decltype(auto) { return p.second; })
| r::to_vector
| r::actions::sort,
std::move(ret) | r::actions::sort,
std::back_inserter(ret)
);
return ret;
}