|
| template<class HASH_ALGORITHM , class TYPE > |
| bsl::enable_if<(bsl::is_integral< TYPE >::value||bsl::is_pointer< TYPE >::value||bsl::is_enum< TYPE >::value)&&!bsl::is_same< TYPE, bool >::value >::type | hashAppend (HASH_ALGORITHM &hashAlg, TYPE input) |
| |
| template<class HASH_ALGORITHM , class TYPE > |
| bsl::enable_if< bsl::is_floating_point< TYPE >::value &&!bsl::is_same< TYPE, longdouble >::value >::type | hashAppend (HASH_ALGORITHM &hashAlg, TYPE input) |
| |
| template<class HASH_ALGORITHM , class TYPE > |
| bsl::enable_if< bsl::is_same< TYPE, bool >::value >::type | hashAppend (HASH_ALGORITHM &hashAlg, TYPE input) |
| |
| template<class HASH_ALGORITHM , class TYPE > |
| bsl::enable_if< bsl::is_same< TYPE, longdouble >::value >::type | hashAppend (HASH_ALGORITHM &hashAlg, TYPE input) |
| |
| template<class HASH_ALGORITHM , size_t N> |
| void | hashAppend (HASH_ALGORITHM &hashAlg, char(&input)[N]) |
| |
| template<class HASH_ALGORITHM , size_t N> |
| void | hashAppend (HASH_ALGORITHM &hashAlg, const char(&input)[N]) |
| |
| template<class HASH_ALGORITHM , class TYPE , size_t N> |
| void | hashAppend (HASH_ALGORITHM &hashAlg, TYPE(&input)[N]) |
| |
| template<class HASH_ALGORITHM , class TYPE , size_t N> |
| void | hashAppend (HASH_ALGORITHM &hashAlg, const TYPE(&input)[N]) |
| |
| template<class HASH_ALGORITHM , class TYPE1 , class TYPE2 > |
| void | hashAppend (HASH_ALGORITHM &algorithm, const std::pair< TYPE1, TYPE2 > &input) |
| |
| template<class HASHALG , class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR > |
| BSLS_PLATFORM_AGGRESSIVE_INLINE void | hashAppend (HASHALG &hashAlg, const std::basic_string< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR > &input) |
| |
template<class HASH_ALGORITHM , class TYPE1 , class TYPE2 >
| void bslh::hashAppend |
( |
HASH_ALGORITHM & |
algorithm, |
|
|
const std::pair< TYPE1, TYPE2 > & |
input |
|
) |
| |
|
inline |
Invoke the (appropriate) hashAppend function, with the specified algorithm on the first and second members, in that order, of the specified input pair.
template<class HASH_ALGORITHM , class TYPE >
Passes the specified input into the specified hashAlg to be combined into the internal state of the algorithm which is used to produce the resulting hash value.
- Note
- Note that the
enable_if meta-function is used to enable this hashAppend function for only bool, because bools can have multiple true representations and need to be normalized before they can be hashed as a continuous sequence of bytes.
Passes the specified input into the specified hashAlg to be combined into the internal state of the algorithm which is used to produce the resulting hash value.
- Note
- Note that the
enable_if meta-function is used to enable this hashAppend function for only integral (excluding bool), pointer, and enum types, because these types can all be hashed as a continuous sequence of bytes. Also note that this function is defined inline because MS Visual Studio compilers before 2013 require (some) functions declared using enable_if be in-place inline.
Passes the specified input into the specified hashAlg to be combined into the internal state of the algorithm which is used to produce the resulting hash value.
- Note
- Note that the
enable_if meta-function is used to enable this hashAppend function for only floating point (excluding long double) types, because these types need to have +/-0.0 normalized to 0.0 before they can be hashed as a continuous sequence of bytes. Also note that this function is defined inline because MS Visual Studio compilers before 2013 require (some) functions declared using enable_if be in-place inline.
template<class HASH_ALGORITHM , class TYPE >
Passes the specified input into the specified hashAlg to be combined into the internal state of the algorithm which is used to produce the resulting hash value.
- Note
- Note that the
enable_if meta-function is used to enable this hashAppend function for only long double, because on some compilers long doubles contain garbage and can not be hashed as a continuous sequence of bytes.
Passes the specified input into the specified hashAlg to be combined into the internal state of the algorithm which is used to produce the resulting hash value.
- Note
- Note that the
enable_if meta-function is used to enable this hashAppend function for only integral (excluding bool), pointer, and enum types, because these types can all be hashed as a continuous sequence of bytes. Also note that this function is defined inline because MS Visual Studio compilers before 2013 require (some) functions declared using enable_if be in-place inline.
Passes the specified input into the specified hashAlg to be combined into the internal state of the algorithm which is used to produce the resulting hash value.
- Note
- Note that the
enable_if meta-function is used to enable this hashAppend function for only floating point (excluding long double) types, because these types need to have +/-0.0 normalized to 0.0 before they can be hashed as a continuous sequence of bytes. Also note that this function is defined inline because MS Visual Studio compilers before 2013 require (some) functions declared using enable_if be in-place inline.