Allocation

Struct Allocation 

Source
pub struct Allocation { /* private fields */ }

Implementations§

Source§

impl Allocation

Source

pub unsafe fn heap(&self) -> &ProtocolObject<dyn MTLHeap>

Returns the MTLHeap object that is backing this allocation.

This heap object can be shared with multiple other allocations and shouldn’t be allocated from without this library, because that will lead to undefined behavior.

§Safety

When allocating new buffers, textures, or other resources on this MTLHeap, be sure to pass Self::offset() and not exceed Self::size() to not allocate new resources on top of existing Allocations.

Also, this Allocation must not be Allocator::free()d while such a created resource on this MTLHeap is still live.

Source

pub fn size(&self) -> u64

Returns the size of the allocation

Source

pub fn offset(&self) -> u64

Returns the offset of the allocation on the MTLHeap.

Since all Allocations are suballocated within a MTLHeap, this offset always needs to be supplied. See the safety documentation on Self::heap().

Source

pub fn name(&self) -> Option<&str>

Trait Implementations§

Source§

impl Debug for Allocation

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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.
Source§

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