Положить подмножество в map
От: Sashaka Россия  
Дата: 21.05.09 19:57
Оценка:
Допустим, есть некоторый, жестко заданный, набор уникальных идентефикаторов, представленный в виде перечисления:
enum SomeSet
{
   id1=0,
   id2,
   //...
   idN,
   max_id //обязательно присутствует, как ограничение
};


Допустим, я хочу привязать к этому набору, какие-то данные, например указатели на функции или интерфейсы, и потом удобно получать эти данные по идентефикатору. Для этого я кладу в std::map такие вот пары: pair<SomeSet,SomeData>, в общем обычная ситуация, имхо.

А теперь допустим я хочу класть в map не отдельные идентефикаторы, а непересекающиеся подмножества всего набора идентефикаторов и потом получать данные из map по одному идентефикатору из этого набора. Хотелось бы, чтобы все необходимое хранилось в ключе map, понятно что надо как-то определить для него класс с оператором сравнения, и парой конструкторов, один из который принимает (и запоминает) подмножество идентефикаторов а другой — отдельный идентефикатор. Но чето в голову не приходит как потом сравнивать эти ключи.

Или может меня не в ту сторону занесло?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.