typesize/libs/
halfbrown.rs1use crate::{map::generic_map_extra_size, TypeSize};
2
3impl<K: TypeSize, V: TypeSize, S, const GROW_LIMIT: usize> TypeSize
4 for halfbrown::SizedHashMap<K, V, S, GROW_LIMIT>
5{
6 fn extra_size(&self) -> usize {
7 let size: usize = self
10 .iter()
11 .take(GROW_LIMIT)
12 .map(|(k, v)| k.extra_size() + v.extra_size())
13 .sum();
14
15 size + generic_map_extra_size(
16 self.iter().skip(GROW_LIMIT),
17 self.capacity().saturating_sub(GROW_LIMIT),
18 self.len().saturating_sub(GROW_LIMIT),
19 )
20 }
21
22 #[cfg(feature = "details")]
23 fn get_collection_item_count(&self) -> Option<usize> {
24 Some(self.len())
25 }
26}