|
| 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 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 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 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 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 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 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 HASHALG , class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
Pass the specified input string to the specified hashAlg hashing algorithm of the (template parameter) type HASHALG. Note that this function violates the BDE coding standard, adding a function for a namespace for a different package, and none of the function parameters are from this package either. This is necessary in order to provide an implementation of bslh::hashAppend for the (native) standard library string type as we are not allowed to add overloads directly into namespace std, and this component essentially provides the interface between bsl and std string types.