I looked at posted TS documentation on cppreference.com , and in the entry for the concept, SameI came across this sentence:
In order to verify restrictions Same<T, U>()implied Same<U, T>().
and note:
The additional constraint checking requirement is different Samefrom std::is_sameand usually requires a compiler implementation.
It seemed a little strange to me, so I decided to check out the Ranges TS , and of course it says:
Note. For the purpose of checking constraints is Same<T, U>()implied Same<U, T>().
(However, the Casey Carter STL2 implementation usesstd::is_same , perhaps because the required internal compiler code does not yet exist.)
So my question is: what exactly does “ Same<T, U>()mean Same<U, T>()” mean ? How would it be possible to be std::is_same<T, U>different from std::is_same<U, T>?
source
share