コピーできない理由はわかりますが (シグナルのコピーには明確な意味がないためです)、ある種のコピー ctor (ノーオペレーションまたはすべての接続をコピーするもののいずれか) をboost::signal
提供するバージョンが必要です。
私がこれを必要とする理由は、私のプロジェクトでは多くのオブジェクトが特徴的なシグナルのおかげでコピー不可になり、それらを快適な値のセマンティクス (shared_ptrs はそれほど快適ではありません) で扱うために、DRY に違反して手動で copy-ctors を提供する必要があるためです。明らかに、ある種の準コピー可能シグナルは、ここでの C++ の醜さに対する良い回避策です。
頭に浮かぶ最初の解決策はsignal
、派生クラスでコピー ctor を継承して提供することですが、signal には仮想 dtor がないため、それはできません。
考え?