dashmap/setref/
one.rs
1use crate::mapref;
2use core::hash::{BuildHasher, Hash};
3use core::ops::Deref;
4use std::collections::hash_map::RandomState;
5pub struct Ref<'a, K, S = RandomState> {
6 inner: mapref::one::Ref<'a, K, (), S>,
7}
8
9unsafe impl<'a, K: Eq + Hash + Send, S: BuildHasher> Send for Ref<'a, K, S> {}
10
11unsafe impl<'a, K: Eq + Hash + Send + Sync, S: BuildHasher> Sync for Ref<'a, K, S> {}
12
13impl<'a, K: Eq + Hash, S: BuildHasher> Ref<'a, K, S> {
14 pub(crate) fn new(inner: mapref::one::Ref<'a, K, (), S>) -> Self {
15 Self { inner }
16 }
17
18 pub fn key(&self) -> &K {
19 self.inner.key()
20 }
21}
22
23impl<'a, K: Eq + Hash, S: BuildHasher> Deref for Ref<'a, K, S> {
24 type Target = K;
25
26 fn deref(&self) -> &K {
27 self.key()
28 }
29}