folly::F14HashedKey

A key paired with its precomputed F14 hash token for faster lookups.

Synopsis

Declared in <folly/container/detail/F14Table.h>

template<
    typename Key,
    typename Hasher = f14::DefaultHasher<TKeyType>,
    typename KeyEqual = f14::DefaultKeyEqual<TKeyType>>
class F14HashedKey final

Type Aliases

NameDescription
IsRangeConvertible Enables range conversion when the key type is transparently convertible to a range.
RangeT Range view type for a key that is transparently convertible to a range.

Member Functions

NameDescription
F14HashedKey [constructor]Constructs the key in place and precomputes its hash token.
getHashToken Returns the precomputed hash token for the stored key.
getKey Returns the stored key.
operator RangeT<K> Converts explicitly to a range view of the stored key.
operator F14HashToken const& Converts explicitly to the precomputed hash token.
operator TKeyType const& Converts implicitly to the stored key so the hashed key behaves as the key itself.

Friends

NameDescription
folly::operator!=Returns whether a heterogeneous key compares unequal to a hashed key.
folly::operator==Returns whether a heterogeneous key compares equal to a hashed key.
folly::operator!=Returns whether a hashed key compares unequal to a heterogeneous key.
folly::operator==Returns whether a hashed key compares equal to a heterogeneous key.
folly::operator!=Returns whether a key compares unequal to a hashed key.
folly::operator==Returns whether a key compares equal to a hashed key.
folly::operator!=Returns whether a hashed key compares unequal to a key.
folly::operator==Returns whether a hashed key compares equal to a key.
folly::operator!=Returns whether two hashed keys compare unequal.
folly::operator==Returns whether two hashed keys compare equal.