Skip to main content

MemoCache

Struct MemoCache 

Source
pub struct MemoCache<T> { /* private fields */ }
Expand description

MemoCache is a struct that represents a cache with a set capacity. It uses an LRU (Least Recently Used) eviction policy.

Implementations§

Source§

impl<T> MemoCache<T>

Source

pub fn capacity(&self) -> usize

Capacity returns the capacity of the MemoCache.

Source

pub fn size(&self) -> usize

Size returns the current size of the MemoCache. It is the number of items currently stored in the cache.

Source

pub fn get<H: Hasher>(&mut self, h: &H) -> Option<&T>

Get returns the value associated with the given hashable item in the MemoCache. If there is no corresponding value, the method returns None.

Source

pub fn set<H: Hasher>(&mut self, h: &H, value: T)

Set sets the value for the given hashable item in the MemoCache. If the cache is at capacity, it evicts the least recently used item before adding the new item.

Auto Trait Implementations§

§

impl<T> Freeze for MemoCache<T>

§

impl<T> RefUnwindSafe for MemoCache<T>
where T: RefUnwindSafe,

§

impl<T> Send for MemoCache<T>
where T: Send,

§

impl<T> Sync for MemoCache<T>
where T: Sync,

§

impl<T> Unpin for MemoCache<T>
where T: Unpin,

§

impl<T> UnsafeUnpin for MemoCache<T>

§

impl<T> UnwindSafe for MemoCache<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.