Struct glib::collections::slist::SList
source · #[repr(transparent)]pub struct SList<T: TransparentPtrType> { /* private fields */ }
Expand description
A list of items of type T
.
Behaves like an Iterator<Item = T>
but allows modifications.
Implementations§
source§impl<T: TransparentPtrType> SList<T>
impl<T: TransparentPtrType> SList<T>
sourcepub unsafe fn from_glib_none(list: *const GSList) -> SList<T>
pub unsafe fn from_glib_none(list: *const GSList) -> SList<T>
Create a new SList
around a list.
sourcepub unsafe fn from_glib_container(list: *mut GSList) -> SList<T>
pub unsafe fn from_glib_container(list: *mut GSList) -> SList<T>
Create a new SList
around a list.
sourcepub unsafe fn from_glib_full(list: *mut GSList) -> SList<T>
pub unsafe fn from_glib_full(list: *mut GSList) -> SList<T>
Create a new SList
around a list.
sourcepub fn iter_mut(&mut self) -> IterMut<'_, T> ⓘ
pub fn iter_mut(&mut self) -> IterMut<'_, T> ⓘ
Create a non-destructive mutable iterator over the SList
.
sourcepub fn front(&self) -> Option<&T>
pub fn front(&self) -> Option<&T>
Returns a reference to the first item of the list, if any.
This operation is O(1)
.
sourcepub fn front_mut(&mut self) -> Option<&mut T>
pub fn front_mut(&mut self) -> Option<&mut T>
Returns a mutable reference to the first item of the list, if any.
This operation is O(1)
.
sourcepub fn pop_front(&mut self) -> Option<T>
pub fn pop_front(&mut self) -> Option<T>
Removes the front item from the list, if any.
This operation is O(1)
.
sourcepub fn push_front(&mut self, item: T)
pub fn push_front(&mut self, item: T)
Prepends the new item to the front of the list.
This operation is O(1)
.
sourcepub fn back(&self) -> Option<&T>
pub fn back(&self) -> Option<&T>
Returns a reference to the last item of the list, if any.
This operation is O(n)
.
sourcepub fn back_mut(&mut self) -> Option<&mut T>
pub fn back_mut(&mut self) -> Option<&mut T>
Returns a mutable reference to the last item of the list, if any.
This operation is O(n)
.
sourcepub fn pop_back(&mut self) -> Option<T>
pub fn pop_back(&mut self) -> Option<T>
Removes the back item from the list, if any.
This operation is O(n)
.
sourcepub fn push_back(&mut self, item: T)
pub fn push_back(&mut self, item: T)
Appends the new item to the back of the list.
this operation is O(n)
.
sourcepub fn sort_by<F: FnMut(&T, &T) -> Ordering>(&mut self, f: F)
pub fn sort_by<F: FnMut(&T, &T) -> Ordering>(&mut self, f: F)
Sorts the list.
This operation is O(n * log n)
.
sourcepub fn retain(&mut self, f: impl FnMut(&T) -> bool)
pub fn retain(&mut self, f: impl FnMut(&T) -> bool)
Only keeps the item in the list for which f
returns true
.
sourcepub fn as_mut_ptr(&mut self) -> *mut GSList
pub fn as_mut_ptr(&mut self) -> *mut GSList
Returns the underlying pointer.