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 value 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
impl Copy for ByLength
Auto Trait Implementations§
impl Freeze for ByLength
impl RefUnwindSafe for ByLength
impl Send for ByLength
impl Sync for ByLength
impl Unpin for ByLength
impl UnwindSafe for ByLength
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)