
15 Feb
2012
15 Feb
'12
11:01 a.m.
El 15/02/2012 0:27, Rei Thiessen escribió:
// library template<typename ElementType, typename KeyType> struct element_key_info {};
// different name to avoid overload confusion. // instantiation succeeds only when // element_key_info is properly specialized template<typename KeyType> iterator unordered_set::find_key( KeyType const& k ) {...} // user namespace intrusive{ template<> struct element_key_info<element_type,key_type> { typedef key_hash hash_type; typedef key_equality equality_type; }; }
Then for an element we have only one possible hash and comparison type, and that's not acceptable. A user might want to use a better hash function or just compare some set fields for equality but not all of them. Ion