Struct PagePointerCache

Source
pub struct PagePointerCache<const PAGE_COUNT: usize> { /* private fields */ }
Expand description

A cache object that keeps track of the page states and some pointers to the items in the page.

This cache has to be kept around and passed to every api call to the same memory region until the cache gets discarded.

Valid usecase:
Create cache 1 -> use 1 -> use 1 -> create cache 2 -> use 2 -> use 2

Invalid usecase:
Create cache 1 -> use 1 -> create cache 2 -> use 2 -> ❌ use 1 ❌

Make sure the page count is correct. If the number is lower than the actual amount, the code will panic at some point.

Implementations§

Source§

impl<const PAGE_COUNT: usize> PagePointerCache<PAGE_COUNT>

Source

pub const fn new() -> Self

Construct a new instance

Trait Implementations§

Source§

impl<const PAGE_COUNT: usize> Debug for PagePointerCache<PAGE_COUNT>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<const PAGE_COUNT: usize> Default for PagePointerCache<PAGE_COUNT>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<const PAGE_COUNT: usize> CacheImpl for PagePointerCache<PAGE_COUNT>

Source§

impl<KEY: Key, const PAGE_COUNT: usize> KeyCacheImpl<KEY> for PagePointerCache<PAGE_COUNT>

Auto Trait Implementations§

§

impl<const PAGE_COUNT: usize> Freeze for PagePointerCache<PAGE_COUNT>

§

impl<const PAGE_COUNT: usize> RefUnwindSafe for PagePointerCache<PAGE_COUNT>

§

impl<const PAGE_COUNT: usize> Send for PagePointerCache<PAGE_COUNT>

§

impl<const PAGE_COUNT: usize> Sync for PagePointerCache<PAGE_COUNT>

§

impl<const PAGE_COUNT: usize> Unpin for PagePointerCache<PAGE_COUNT>

§

impl<const PAGE_COUNT: usize> UnwindSafe for PagePointerCache<PAGE_COUNT>

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, 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.