Struct wayland_backend::rs::socket::Buffer
source · struct Buffer<T: Copy> {
storage: Vec<T>,
occupied: usize,
offset: usize,
}
Fields§
§storage: Vec<T>
§occupied: usize
§offset: usize
Implementations§
source§impl<T: Copy + Default> Buffer<T>
impl<T: Copy + Default> Buffer<T>
fn new(size: usize) -> Self
sourcefn clear(&mut self)
fn clear(&mut self)
Clears the contents of the buffer
This only sets the counter of occupied space back to zero, allowing previous content to be overwritten.
sourcefn get_contents(&self) -> &[T]
fn get_contents(&self) -> &[T]
Get the current contents of the occupied space of the buffer
sourcefn get_writable_storage(&mut self) -> &mut [T]
fn get_writable_storage(&mut self) -> &mut [T]
Get mutable access to the unoccupied space of the buffer
sourcefn move_to_front(&mut self)
fn move_to_front(&mut self)
Move the unread contents of the buffer to the front, to ensure maximal write space availability
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for Buffer<T>
impl<T> RefUnwindSafe for Buffer<T>where
T: RefUnwindSafe,
impl<T> Send for Buffer<T>where
T: Send,
impl<T> Sync for Buffer<T>where
T: Sync,
impl<T> Unpin for Buffer<T>where
T: Unpin,
impl<T> UnwindSafe for Buffer<T>where
T: UnwindSafe,
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
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.