แนวคิดequality_comparable_with<T, U>มีจุดมุ่งหมายที่จะประกาศวัตถุชนิดที่TและUสามารถนำมาเปรียบเทียบเท่ากับแต่ละอื่น ๆ และถ้าพวกเขาอยู่แล้วนี้มีความหมายที่คาดหวัง ไม่เป็นไร.
อย่างไรก็ตามแนวคิดนี้ยังต้องcommon_reference_t<T&, U&>มีอยู่ แรงกระตุ้นหลักสำหรับcommon_referenceและฟังก์ชั่นการดูแลของมันดูเหมือนว่าจะเปิดใช้งานตัวทำซ้ำพร็อกซีเพื่อให้มีสถานที่ที่จะเป็นตัวแทนของความสัมพันธ์ระหว่างreferenceและvalue_typeสำหรับการทำซ้ำดังกล่าว
เยี่ยมมาก แต่ ... สิ่งใดที่เกี่ยวข้องกับการทดสอบว่า a Tและ a Uสามารถเปรียบเทียบกันได้หรือไม่ ทำไมมาตรฐานจึงต้องการสิ่งนั้นTและUมีความสัมพันธ์อ้างอิงร่วมกันเพียงเพื่อให้คุณสามารถเปรียบเทียบพวกเขาได้เท่ากัน?
สิ่งนี้จะสร้างสถานการณ์คี่บอลซึ่งเป็นการยากมากที่จะมีสองประเภทซึ่งไม่มีเหตุผลพอสมควรที่มีความสัมพันธ์อ้างอิงทั่วไปที่เทียบเคียงได้ในเชิงตรรกะ ตัวอย่างเช่นvector<int>และpmr::vector<int>เหตุผลควรเปรียบเทียบ แต่ไม่สามารถทำได้เพราะไม่มีการอ้างอิงทั่วไปที่สมเหตุสมผลระหว่างสองประเภทที่ไม่เกี่ยวข้องกัน
assignable_fromต้องใช้common_reference...