Share via


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 AFXAPI 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));
}

Requirements

Header: afxtempl.h

See Also

Reference

CMap Class

Concepts

MFC Macros and Globals