va>А можно ли сделать подобное для бинарных операций?
pva>p.s. Отвечу сам себе
Помнится, год или два назад тут поднимали тему — как написать полиморфного посетителя такого же вида.
Там есть некоторые интересные моменты по диспетчеризации.
Можно
— неупорядоченные перегрузки, выбор компилятором наилучшей подходящей
— — если есть неоднозначность (выбор среди нескольких наилучших) — давать ошибку компиляции
— — раздавать приоритеты
— — подсовывать дефолтные обработчики
— двойная диспетчеризация, то есть, выбор наилучшей по первому аргументу, затем по второму...
— упорядоченные перегрузки, выбор первой подходящей в списке
Идиома с наследованием — это изящно, но она содержит подводную граблю, с наследованием от одинаковых типов. В случае уникальных лямбд это, конечно, не проблема.
для связности:
https://rsdn.org/forum/cpp/8497841.1Автор: Chorkov
Дата: 04.04.23
https://rsdn.org/forum/cpp/8554157.1Автор: Кодт
Дата: 30.06.23
вроде бы ещё раньше обсуждали эти темы, но я так не упомню