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}