Namespaces
Variants
Views
Actions

Talk:cpp/utility/hash/operator()

From cppreference.com
< Talk:cpp‎ | utility‎ | hash

Is this even really defined? Perhaps this page shouldn't exist, or maybe it should just describe the high-level requirements for a hash<T>::operator(). Nate 16:27, 21 March 2012 (PDT)

Isn't it describing the high level requirements already? I marked the template std::hash as not defined, so now it should be clear that this page only talks about the specializations of the template. - P12 02:50, 22 March 2012 (PDT)
It does describe requirements, but maybe it's too specific -- i.e., including a function signature that says hash takes a const Key& might be misleading. I can't find any standard-ese that actually says what the argument type should be.
I agree that there's a problem. But if we removed this page and included only a link to Hash requirements from the std::hash page, wouldn't it be too abstract and inconvenient for the reader? After all, this function isn't something that is left for the user to define, the standard library ships with a set of specializations implementing it. A possible solution would be to add a note explaining that the precise type of the argument is implementation defined or unspecified by the standard. -- P12 14:36, 22 March 2012 (PDT)