light_cache/cache/
no_policy.rs1use crate::LightCache;
2use std::hash::{BuildHasher, Hash};
3
4pub trait NoPolicy<K, V, P> {
8 fn get_no_policy(&self, key: &K) -> Option<V>;
9
10 fn insert_no_policy(&self, key: K, value: V) -> Option<V>;
11
12 fn remove_no_policy(&self, key: &K) -> Option<V>;
13
14 fn policy(&self) -> &P;
15}
16
17impl<K, V, S, P> NoPolicy<K, V, P> for LightCache<K, V, S, P>
18where
19 K: Eq + Hash + Copy,
20 V: Clone + Sync,
21 S: BuildHasher,
22{
23 #[inline]
24 fn get_no_policy(&self, key: &K) -> Option<V> {
25 self.get_no_policy(key)
26 }
27
28 #[inline]
29 fn insert_no_policy(&self, key: K, value: V) -> Option<V> {
30 self.insert_no_policy(key, value)
31 }
32
33 #[inline]
34 fn remove_no_policy(&self, key: &K) -> Option<V> {
35 self.remove_no_policy(key)
36 }
37
38 #[inline]
39 fn policy(&self) -> &P {
40 self.policy()
41 }
42}