stl-овский template<class Key, class Cmp = less<Key>> не подходит, нужно что-то вроде:
template<class Key, class Cmp = less<Key_parent> class multiset как?
Собственно..
class Key_parent
class B: public Key_parent
class C: public Key_parent
И необходимо, чтобы можно было делать:
multiset<B> set_b;
multiset<C> set_c;
B b; C c;
set_b.lower_bound(c);
set_c.lower_bound(b);
Т.е. нужно, чтобы в качестве ключа множества можно было использовать родитель ключа. Можно с multimap, но это немного не то.. =(
Пока сделал с помощью lower_bound из <algorithm>
Вероятно, то же самое можно сделать и более изящно (специализация шаблона или что-то подобное, но еще очень страшное для меня.. :D )
Может кто подскажет? Спасибо.
Ответ на:
комментарий
от watashiwa_daredeska
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от watashiwa_daredeska
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум class partial template method spec. (2013)
- Форум error: ‘remove_pointer’ is not a class template (2019)
- Форум С++ Помогите избавиться от дублирования однотипного кода. (2018)
- Форум ошибка компиляции vector<PointF>::push_back(Value) (2015)
- Форум gcc bug (global array of templated class - no destructors) (2005)
- Форум не собирается qt 5.15.2: error: ‘numeric_limits’ is not a class template (2021)
- Форум Не получается особый случай для forward declaration of a template class (2008)
- Форум export template<class T> .... не работает - кривые руки или дырявая голова?! (2002)
- Статьи Разработка сетевой библиотеки на C++20: интеграция асинхронности и алгоритма Raft (часть 2) (2023)
- Форум Не собирается reVC на Arch Linux (2024)