У меня есть мультисет Bimap, который выглядит так:
6 <--> 71
6 <--> 71
6 <--> 71
8 <--> 71
8 <--> 71
10 <--> 71
10 <--> 74
элемент = левая клавиша + правая клавиша или строка в блоке выше
Я хотел бы удалить элементы, в которых строки эквивалентны другой строке, например, я хотел бы удалить два участка из 6 ‹--> 71. По сути, каждый элемент растрового изображения должен быть уникальным . Левая и правая клавиши должны быть мультинаборами для моего варианта использования. В этом посте я также хотел бы создать bimap. Есть ли встроенная функция, которая требует, чтобы каждый элемент был уникальным? Если это не так, кто-нибудь знает хороший способ сделать это?
Минимальный код, который я использую, выглядит следующим образом:
typedef boost::bimap<boost::bimaps::multiset_of<int>,
boost::bimaps::multiset_of<int>> bimap;
bimap bm;
//fill with elements from two vectors
//vectors have the same size by definition
for(int j = 0; j < matching1.size(); j++){
bm.insert({matching1[j],matching2[j]});
}