rendy_resource

Struct ResourceTracker

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

Resource handler.

Implementations§

Source§

impl<T> ResourceTracker<T>

Source

pub fn new() -> Self

Create new resource manager.

Source

pub fn escape(&self, resource: T) -> Escape<T>
where T: Sized,

Wrap resource instance into Escape.

Source

pub fn handle(&self, resource: T) -> Handle<T>
where T: Sized,

Wrap resource instance into Handle.

Source

pub fn cleanup( &mut self, dispose: impl FnMut(T), next: &Epochs, complete: &Epochs, )

Cleanup dropped resources.

§Safety

next epochs must contain epoch indices that aren’t started yet complete epochs must contain epoch indices that are complete. Can be guaranteed with fence wait.

Source

pub fn dispose(&mut self, dispose: impl FnMut(T))

Cleanup all dropped resources.

§Safety

All dropped resources must be unused. Can be guaranteed with device idle wait.

Trait Implementations§

Source§

impl<T: Debug> Debug for ResourceTracker<T>

Source§

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

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

impl<T> Default for ResourceTracker<T>

Source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl<T> Freeze for ResourceTracker<T>

§

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

§

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

§

impl<T> Sync for ResourceTracker<T>
where T: Send + Sync,

§

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

§

impl<T> UnwindSafe for ResourceTracker<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, 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.