Отображение между наборами целых чисел
Мне нужно сопоставить набор целых чисел с наборами целых чисел.
Прежде всего, я хочу отметить, что не все возможные наборы целых чисел принимаются во внимание. Вместо этого я создаю соответствующие наборы, которые приложение будет (когда - либо) использовать-программно, только один раз, и сериализую его в двоичном файле.Далее я построю QMap<QSet<int>, QSet<int> > setMap
.
userSet
и быстро получает setMap[userSet]
.
Итак, проблема в том, что QMap
нуждается в operator <
, определенных для ключевых типов, и очевидно, что у QSet<int>
их нет.
Что я могу с этим поделать?
4 ответа:
Если наборы статичны, загрузите их в таблицу (
QVector<QSet<int> >
) и используйте индексы наборов в этой таблице в качестве ключей и значений в Карте (QMap<int,int>
) вместо самих наборов.