highway/
hash.rs

1use crate::builder::HighwayHasher;
2use crate::key::Key;
3use core::hash::BuildHasher;
4
5/// Constructs a hasher used in rust collections
6#[derive(Debug, Default)]
7pub struct HighwayBuildHasher {
8    key: Key,
9}
10
11impl HighwayBuildHasher {
12    /// Creates a new hash builder with a given key
13    #[must_use]
14    pub fn new(key: Key) -> Self {
15        HighwayBuildHasher { key }
16    }
17}
18
19impl BuildHasher for HighwayBuildHasher {
20    type Hasher = HighwayHasher;
21
22    fn build_hasher(&self) -> Self::Hasher {
23        HighwayHasher::new(self.key)
24    }
25}