#[repr(transparent)]pub struct ByLength { /* private fields */ }
Expand description
A limiter for a map which is limited by the number of elements.
Implementations§
source§impl ByLength
impl ByLength
sourcepub const fn new(max_length: u32) -> Self
pub const fn new(max_length: u32) -> Self
Creates a new length limiter with a given max_length
.
If you don’t need to strictly cap the number of elements and just want to limit
the memory usage then prefer using ByMemoryUsage
.
sourcepub const fn max_length(&self) -> u32
pub const fn max_length(&self) -> u32
Returns the max length.
Trait Implementations§
source§impl<K, V> Limiter<K, V> for ByLength
impl<K, V> Limiter<K, V> for ByLength
§type KeyToInsert<'a> = K
type KeyToInsert<'a> = K
The type of the key to be inserted into the map. Read more
§type LinkType = u32
type LinkType = u32
The type used to hold the links between the nodes inside of the LRU map. Read more
source§fn is_over_the_limit(&self, length: usize) -> bool
fn is_over_the_limit(&self, length: usize) -> bool
Checks whether any of the elements must be popped. Read more
source§fn on_insert(
&mut self,
_length: usize,
key: Self::KeyToInsert<'_>,
value: V
) -> Option<(K, V)>
fn on_insert(
&mut self,
_length: usize,
key: Self::KeyToInsert<'_>,
value: V
) -> Option<(K, V)>
Called before a node is inserted into the map. Read more
source§fn on_replace(
&mut self,
_length: usize,
_old_key: &mut K,
_new_key: K,
_old_value: &mut V,
_new_value: &mut V
) -> bool
fn on_replace(
&mut self,
_length: usize,
_old_key: &mut K,
_new_key: K,
_old_value: &mut V,
_new_value: &mut V
) -> bool
Called before a node is replaced inside of the map. Read more
source§fn on_removed(&mut self, _key: &mut K, _value: &mut V)
fn on_removed(&mut self, _key: &mut K, _value: &mut V)
Called after an element is removed from the map. Read more
source§fn on_cleared(&mut self)
fn on_cleared(&mut self)
Called after the map is cleared. Read more