pub struct BufferHandle(/* private fields */);Expand description
Typed wrapper for buffer resources, built on ResourceId.
Provides type safety: you cannot accidentally pass a BufferHandle where
a raw ResourceId for a different resource kind is expected.
§Invariants
- The inner
ResourceIdmust refer to a buffer slot in the resource table.
§Examples
use torvyn_types::{BufferHandle, ResourceId};
let rid = ResourceId::new(5, 0);
let handle = BufferHandle::new(rid);
assert_eq!(handle.resource_id().index(), 5);Implementations§
Source§impl BufferHandle
impl BufferHandle
Sourcepub const fn new(resource_id: ResourceId) -> Self
pub const fn new(resource_id: ResourceId) -> Self
Create a new BufferHandle from a ResourceId.
§HOT PATH — called during buffer allocation.
Sourcepub const fn resource_id(&self) -> ResourceId
pub const fn resource_id(&self) -> ResourceId
Returns the underlying ResourceId.
Trait Implementations§
Source§impl Clone for BufferHandle
impl Clone for BufferHandle
Source§fn clone(&self) -> BufferHandle
fn clone(&self) -> BufferHandle
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BufferHandle
impl Debug for BufferHandle
Source§impl<'de> Deserialize<'de> for BufferHandle
impl<'de> Deserialize<'de> for BufferHandle
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for BufferHandle
impl Display for BufferHandle
Source§impl From<ResourceId> for BufferHandle
impl From<ResourceId> for BufferHandle
Source§fn from(id: ResourceId) -> Self
fn from(id: ResourceId) -> Self
Converts to this type from the input type.
Source§impl Hash for BufferHandle
impl Hash for BufferHandle
Source§impl PartialEq for BufferHandle
impl PartialEq for BufferHandle
Source§impl Serialize for BufferHandle
impl Serialize for BufferHandle
impl Copy for BufferHandle
impl Eq for BufferHandle
impl StructuralPartialEq for BufferHandle
Auto Trait Implementations§
impl Freeze for BufferHandle
impl RefUnwindSafe for BufferHandle
impl Send for BufferHandle
impl Sync for BufferHandle
impl Unpin for BufferHandle
impl UnwindSafe for BufferHandle
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