У меня есть std :: set с классом Compare, который требует дополнительного параметра для сравнения ключей. Этот переменный параметр определяется во время выполнения, и я упаковываю его в ключи набора, чтобы сделать его доступным для сравнения.
Однако параметр логически относится к набору, а не к ключам, поэтому это решение выглядит неуклюже и дублирует одно и то же значение для всех ключей.
Есть ли элегантный способ передать дополнительный параметр в класс Compare? (Сначала я подумал о set :: value_comp, но он возвращает объект сравнения по значению, а мне нужна ссылка).
Спасибо.