.TH "std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache_hash_code >" 3cxx "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 .PP Inherited by \fBstd::__detail::_Hashtable_base< _Key, _Tp, _Pred, allocator< std::pair< const _Key, _Tp > >, _H1, _H2, _Hash, _Traits >\fP, \fBstd::__detail::_Hashtable_base< _Key, _Tp, equal_to< _Key >, allocator< std::pair< const _Key, _Tp > >, _H1, _H2, _Hash, _Traits >\fP, and \fBstd::__detail::_Hashtable_base< _Value, hash< _Value >, allocator< _Value >, _Equal, _H1, _H2, _Hash, _Traits >\fP\&. .SH "Detailed Description" .PP .SS "template<\fBtypename\fP \fB_Key\fP, \fBtypename\fP _Value, \fBtypename\fP _ExtractKey, \fBtypename\fP \fB_H1\fP, \fBtypename\fP \fB_H2\fP, \fBtypename\fP \fB_Hash\fP, bool __cache_hash_code> .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\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.