MFC Library Reference
HashKey
Calculates a hash value for the given key.
template<class ARG_KEY> AFX_INLINE UINT AFXAPI HashKey( ARG_KEY key );
Parameters
- ARG_KEY
- Template parameter specifying the data type used to access map keys.
- key
- The key whose hash value is to be calculated.
Return Value
The key's hash value.
Remarks
This function is called directly by CMap::RemoveKey and indirectly by CMap::Lookup and CMap::Operator [].
The default implementation creates a hash value by shifting key right by four positions. Override this function so that it returns hash values appropriate for your application.
Example
template <> UINT AXPAPI HashKey( unsigned __int64 key )
{
// Generate the hash value by XORing the lower 32 bits of the number
// with the upper 32 bits
return( UINT( key )^UINT( key>>32 ) );
}