コンセプトは、equality_comparable_with<T, U>
タイプのオブジェクトを宣言することを目的とT
し、U
互いに等しく比較することができ、それらがある場合、これは予想される意味を持ちます。それはいいです。
ただし、この概念もcommon_reference_t<T&, U&>
存在する必要があります。主な推進力common_reference
とそれに付随する機能は、プロキシイテレータを有効にし、そのようなイテレータ間のreference
との関係を表す場所を設けることvalue_type
です。
それは素晴らしいことですが... a T
とa U
が互いに等しいかどうかをテストできるかどうかをテストすることとは何ですか?なぜ標準はそれT
を必要とし、U
それらを等しく比較できるようにするために共通の参照関係を持っているのですか?
これは、論理的に比較可能な共通参照関係を合理的に持たない2つのタイプを持つことが非常に困難な、奇妙な状況を作り出します。例えば、vector<int>
およびpmr::vector<int>
論理的には同等であるべきです。しかし、そうでなければ関係のない2つのタイプの間に妥当な共通参照がないため、そうなることはありません。
assignable_from
必要なのはcommon_reference
...