hashAppend overloads

Synopses

Declared in <bslh_hash.h>

Append a filesystem path to a hash algorithm.

template<class HASHALG>
void
hashAppend(
    HASHALG& hashAlg,
    std::filesystem::path const& path);

Pass a sentinel value for std::monostate into the hashing algorithm.

template<class HASH_ALGORITHM>
void
hashAppend(
    HASH_ALGORITHM& algorithm,
    std::monostate const& input);

Incorporate the specified tid into the specified algorithm.

template<class t_HASH_ALG>
void
hashAppend(
    t_HASH_ALG& algorithm,
    std::thread::id const& tid);

Combine an optional value into the state of a hash algorithm.

template<
    class HASH_ALGORITHM,
    class TYPE>
void
hashAppend(
    HASH_ALGORITHM& algorithm,
    std::optional<TYPE> const& input);

Invoke hashAppend, with the specified algorithm, on each element of the specified input in order of increasing index as defined by std::get.

template<
    class HASH_ALGORITHM,
    class... TYPE>
void
hashAppend(
    HASH_ALGORITHM& algorithm,
    std::tuple<TYPE...> const& input);

Append the active alternative of a std::variant to a hash algorithm.

template<
    class HASH_ALGORITHM,
    class... TYPE>
void
hashAppend(
    HASH_ALGORITHM& algorithm,
    std::variant<TYPE...> const& input);

Combine the specified input into the state of the specified hashAlg.

template<
    class HASH_ALGORITHM,
    class TYPE>
void
hashAppend(
    HASH_ALGORITHM& hashAlg,
    TYPE input)
requires (bsl::is_integral<TYPE>::value ||
     bsl::is_pointer<TYPE>::value  ||
     bsl::is_enum<TYPE>::value)    &&
    !bsl::is_same<TYPE, bool>::value;

Combine the specified input into the state of the specified hashAlg.

template<
    class HASH_ALGORITHM,
    class TYPE>
void
hashAppend(
    HASH_ALGORITHM& hashAlg,
    TYPE input)
requires bsl::is_floating_point<TYPE>::value &&
   !bsl::is_same<TYPE, long double>::value;

Combine the specified input into the state of the specified hashAlg.

template<
    class HASH_ALGORITHM,
    class TYPE>
void
hashAppend(
    HASH_ALGORITHM& hashAlg,
    TYPE input)
requires bsl::is_same<TYPE, bool>::value;

Combine the specified input into the state of the specified hashAlg.

template<
    class HASH_ALGORITHM,
    class TYPE>
void
hashAppend(
    HASH_ALGORITHM& hashAlg,
    TYPE input)
requires bsl::is_same<TYPE, long double>::value;

Combine the specified input into the state of the specified hashAlg.

template<
    class HASH_ALGORITHM,
    size_t N>
void
hashAppend(
    HASH_ALGORITHM& hashAlg,
    char(& input)[]);

Combine the specified input into the state of the specified hashAlg.

template<
    class HASH_ALGORITHM,
    size_t N>
void
hashAppend(
    HASH_ALGORITHM& hashAlg,
    char const(& input)[]);

Pass the specified input to the specified hashAlg.

template<
    class HASHALG,
    class CHAR_TYPE,
    class CHAR_TRAITS>
void
hashAppend(
    HASHALG& hashAlg,
    std::basic_string_view<CHAR_TYPE, CHAR_TRAITS> const& input);

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 TYPE1,
    class TYPE2>
void
hashAppend(
    HASH_ALGORITHM& algorithm,
    std::pair<TYPE1, TYPE2> const& input);

Combine the specified input into the state of the specified hashAlg.

template<
    class HASH_ALGORITHM,
    class TYPE,
    size_t N>
void
hashAppend(
    HASH_ALGORITHM& hashAlg,
    TYPE(& input)[]);

Combine the specified input into the state of the specified hashAlg.

template<
    class HASH_ALGORITHM,
    class TYPE,
    size_t N>
void
hashAppend(
    HASH_ALGORITHM& hashAlg,
    TYPE const(& input)[]);

Append a std::array to a hashing algorithm.

template<
    class HASH_ALGORITHM,
    class TYPE,
    size_t SIZE>
void
hashAppend(
    HASH_ALGORITHM& hashAlgorithm,
    std::array<TYPE, SIZE> const& input);

Append a std::basic_string to a hashing algorithm.

template<
    class HASHALG,
    class CHAR_TYPE,
    class CHAR_TRAITS,
    class ALLOCATOR>
void
hashAppend(
    HASHALG& hashAlg,
    std::basic_string<CHAR_TYPE, CHAR_TRAITS, ALLOCATOR> const& input);

Parameters

Name

Description

hashAlg

hashing algorithm that receives the path hash input

path

filesystem path whose hash value is appended

algorithm

hashing algorithm that combines the monostate sentinel

input

unused std::monostate value being hashed

tid

thread identifier to convert and append

hashAlgorithm

hashing algorithm object

Created with MrDocs