.TH "std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache_hash_code >" 3cxx "Tue Jul 2 2019" "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache_hash_code > .SH SYNOPSIS .br .PP .SH "Detailed Description" .PP .SS "template .br struct std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache_hash_code >" Primary class template _Hash_code_base\&. .PP Encapsulates two policy issues that aren't quite orthogonal\&. (1) the difference between using a ranged hash function and using the combination of a hash function and a range-hashing function\&. In the former case we don't have such things as hash codes, so we have a dummy type as placeholder\&. (2) Whether or not we cache hash codes\&. Caching hash codes is meaningless if we have a ranged hash function\&. .PP We also put the key extraction objects here, for convenience\&. Each specialization derives from one or more of the template parameters to benefit from Ebo\&. This is important as this type is inherited in some cases by the _Local_iterator_base type used to implement local_iterator and const_local_iterator\&. As with any iterator type we prefer to make it as small as possible\&. .PP Primary template is unused except as a hook for specializations\&. .PP Definition at line 1179 of file hashtable_policy\&.h\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.