osom_lib_hash_tables/bytell/
configuration.rs1use core::hash::BuildHasher;
4
5use osom_lib_alloc::traits::Allocator;
6
7use crate::helpers::MaxLoadFactor;
8
9use super::hash_to_index::HashToIndex;
10
11pub trait BytellConfig: Default + Clone + Send + Sync + Sized {
13 type ConcreteHashToIndex: HashToIndex;
14 type ConcreteBuildHasher: BuildHasher;
15 type ConcreteAllocator: Allocator;
16
17 fn build_hasher(&self) -> &Self::ConcreteBuildHasher;
18 fn hash_to_index(&self) -> &Self::ConcreteHashToIndex;
19 fn hash_to_index_mut(&mut self) -> &mut Self::ConcreteHashToIndex;
20 fn allocator(&self) -> &Self::ConcreteAllocator;
21 fn load_factor(&self) -> MaxLoadFactor;
22}