Я понимаю, почему boost::signal
нельзя скопировать (это потому, что копирование сигнала не имеет четкого значения), но мне нужна его версия, которая обеспечивает некоторый вид копирования ctor (либо no-op или тот, который копирует все соединения).
Причина, по которой я нуждаюсь в этом, заключается в том, что в моем проекте многие объекты становятся некопируемыми просто благодаря отображению сигналов и для обработки их с удобной семантикой значений (shared_ptrs не как удобные ) Мне нужно вручную предоставить копи-ctors, нарушающие DRY. Очевидно, что своего рода квази-копируемый сигнал был бы хорошим обходным путем для уродства C ++ здесь.
Первое решение, которое приходит на ум, - это наследовать signal
и предоставлять копию ctor в производном классе, но это не так, потому что у сигнала нет виртуального dtor.
Мысли