Существует ли представление диапазона для перебора пересечения двух карт и выполнения функций с общим ключом и двумя зна ⇐ C++
-
Anonymous
Существует ли представление диапазона для перебора пересечения двух карт и выполнения функций с общим ключом и двумя зна
Предположим, у нас есть две карты с некоторыми общими ключами, но разными значениями. Я хотел бы перебрать «пересечение» двух карт, где ключи одинаковы. Затем я хотел бы выполнить функцию преобразования f(key, value_in_map1, value_in_map2).
Я хотел бы сделать это, используя представления диапазона, чтобы можно было продолжить конвейеризацию. Я попробовал ranges::views::set_intersection в range-v3, но он не работает должным образом:
#include #include #include интервал основной () { std::map m1 {{0, 0}, {1, 1}, {2, 2}}; std::map m2 {{0, 0}, {2, 1}, {3, 2}}; auto res = ranges::views::set_intersection(m1, m2); for(auto&& p : res) { std::cout
Предположим, у нас есть две карты с некоторыми общими ключами, но разными значениями. Я хотел бы перебрать «пересечение» двух карт, где ключи одинаковы. Затем я хотел бы выполнить функцию преобразования f(key, value_in_map1, value_in_map2).
Я хотел бы сделать это, используя представления диапазона, чтобы можно было продолжить конвейеризацию. Я попробовал ranges::views::set_intersection в range-v3, но он не работает должным образом:
#include #include #include интервал основной () { std::map m1 {{0, 0}, {1, 1}, {2, 2}}; std::map m2 {{0, 0}, {2, 1}, {3, 2}}; auto res = ranges::views::set_intersection(m1, m2); for(auto&& p : res) { std::cout
Мобильная версия