इस अवधारणाequality_comparable_with<T, U> का उद्देश्य यह घोषित करना है कि प्रकार की वस्तुओं Tऔर Uएक दूसरे के बराबर तुलना की जा सकती है, और यदि वे हैं, तो इसका अपेक्षित अर्थ है। कोई बात नहीं।
हालाँकि, इस अवधारणा को भी common_reference_t<T&, U&>मौजूद होना चाहिए । के लिए प्राथमिक प्रोत्साहन common_referenceऔर उसके परिचर कार्यक्षमता के लिए हो रहा है प्रॉक्सी iterators सक्षम , के बीच के रिश्ते का प्रतिनिधित्व करने के लिए एक जगह है करने के लिए referenceऔर value_typeइस तरह के iterators के लिए।
यह बहुत अच्छा है, लेकिन ... अगर एक Tऔर Uएक दूसरे के बराबर की तुलना की जा सकती है तो परीक्षण के साथ क्या करना है ? मानक की आवश्यकता क्यों है Tऔर Uएक समान संदर्भ संबंध है जो आपको उनकी तुलना करने की अनुमति देता है?
यह विषम परिस्थितियों को बनाता है जहाँ दो प्रकारों का होना बहुत मुश्किल होता है जो कि एक सामान्य-संदर्भ संबंध नहीं है जो तार्किक रूप से तुलनीय है। उदाहरण के लिए, vector<int>और pmr::vector<int>तार्किक रूप से तुलनीय होना चाहिए। लेकिन वे नहीं हो सकते क्योंकि दोनों के बीच कोई उचित सामान्य संदर्भ नहीं है अन्यथा असंबंधित प्रकार।
assignable_fromआवश्यकता है common_reference...