<xstd/bits/bit_functional/bit_digest.hpp>¶
bit_digest¶
template<class T, hash_algorithm H, class Flavor>
requires see below
class bit_digest {
public:
using result_type = typename H::result_type;
bit_digest() = default;
constexpr explicit bit_digest(uint64_t seed);
constexpr bit_digest(const unsigned char* p, size_t n);
constexpr auto operator()(const T& v) const -> result_type;
};
As xstd-misc's digest, with:
- Constraints:
Tis a typebit_hash_appendtakes, by either form. operator(), Returns:h.result(), wherehis a copy of the prototype afterbit_hash_append(h, Flavor(), v).- There is no specialization for a string key.
- Equal bits digest equal across block types: under
fnv1a_64,basic_bit_fixed_set<size_t, Block, 200>{1, 64, 199}digests to0xB72B'9E62'AF48'F732at every block type, and underxxhash_64to0xF8C0'7F80'B85C'9EA1. bit_hash<T, H, Flavor>()(x)isboost::hash2::get_integral_result<size_t>of the state whose resultbit_digest<T, H, Flavor>()(x)is.