Lines Matching refs:ID

263 pub struct List<T: ?Sized + ListItem<ID>, const ID: u64 = 0> {
265 _ty: PhantomData<ListArc<T, ID>>,
270 unsafe impl<T, const ID: u64> Send for List<T, ID>
272 ListArc<T, ID>: Send,
273 T: ?Sized + ListItem<ID>,
278 unsafe impl<T, const ID: u64> Sync for List<T, ID>
280 ListArc<T, ID>: Sync,
281 T: ?Sized + ListItem<ID>,
293 pub unsafe trait ListItem<const ID: u64 = 0>: ListArcSafe<ID> {
307 unsafe fn view_links(me: *const Self) -> *mut ListLinks<ID>; in view_links() argument
325 unsafe fn view_value(me: *mut ListLinks<ID>) -> *const Self; in view_value()
343 unsafe fn prepare_to_insert(me: *const Self) -> *mut ListLinks<ID>; in prepare_to_insert() argument
355 unsafe fn post_remove(me: *mut ListLinks<ID>) -> *const Self; in post_remove()
371 pub struct ListLinks<const ID: u64 = 0> {
380 unsafe impl<const ID: u64> Send for ListLinks<ID> {}
383 unsafe impl<const ID: u64> Sync for ListLinks<ID> {}
385 impl<const ID: u64> ListLinks<ID> {
420 pub struct ListLinksSelfPtr<T: ?Sized, const ID: u64 = 0> {
424 pub inner: ListLinks<ID>,
431 unsafe impl<T: ?Sized + Send, const ID: u64> Send for ListLinksSelfPtr<T, ID> {}
437 unsafe impl<T: ?Sized + Sync, const ID: u64> Sync for ListLinksSelfPtr<T, ID> {}
439 impl<T: ?Sized, const ID: u64> ListLinksSelfPtr<T, ID> {
466 impl<T: ?Sized + ListItem<ID>, const ID: u64> List<T, ID> {
491 item: ListArc<T, ID>, in insert_inner() argument
534 pub fn push_back(&mut self, item: ListArc<T, ID>) { in push_back() argument
542 pub fn push_front(&mut self, item: ListArc<T, ID>) { in push_front() argument
553 pub fn pop_back(&mut self) -> Option<ListArc<T, ID>> { in pop_back() argument
565 pub fn pop_front(&mut self) -> Option<ListArc<T, ID>> { in pop_front() argument
585 pub unsafe fn remove(&mut self, item: &T) -> Option<ListArc<T, ID>> { in remove() argument
626 unsafe fn remove_internal(&mut self, item: *mut ListLinksFields) -> ListArc<T, ID> { in remove_internal() argument
645 ) -> ListArc<T, ID> { in remove_internal_inner() argument
693 pub fn push_all_back(&mut self, other: &mut List<T, ID>) { in push_all_back() argument
722 pub fn cursor_front(&mut self) -> Cursor<'_, T, ID> { in cursor_front() argument
731 pub fn cursor_back(&mut self) -> Cursor<'_, T, ID> { in cursor_back() argument
740 pub fn iter(&self) -> Iter<'_, T, ID> { in iter() argument
751 impl<T: ?Sized + ListItem<ID>, const ID: u64> Default for List<T, ID> {
757 impl<T: ?Sized + ListItem<ID>, const ID: u64> Drop for List<T, ID> {
773 pub struct Iter<'a, T: ?Sized + ListItem<ID>, const ID: u64 = 0> {
776 _ty: PhantomData<&'a ListArc<T, ID>>,
779 impl<'a, T: ?Sized + ListItem<ID>, const ID: u64> Iterator for Iter<'a, T, ID> {
948 pub struct Cursor<'a, T: ?Sized + ListItem<ID>, const ID: u64 = 0> {
949 list: &'a mut List<T, ID>,
954 impl<'a, T: ?Sized + ListItem<ID>, const ID: u64> Cursor<'a, T, ID> {
979 pub fn peek_next(&mut self) -> Option<CursorPeek<'_, 'a, T, true, ID>> { in peek_next() argument
994 pub fn peek_prev(&mut self) -> Option<CursorPeek<'_, 'a, T, false, ID>> { in peek_prev() argument
1047 fn insert_inner(&mut self, item: ListArc<T, ID>) -> *mut ListLinksFields { in insert_inner()
1065 pub fn insert(mut self, item: ListArc<T, ID>) { in insert() argument
1076 pub fn insert_next(&mut self, item: ListArc<T, ID>) { in insert_next() argument
1083 pub fn insert_prev(&mut self, item: ListArc<T, ID>) { in insert_prev() argument
1088 pub fn remove_next(&mut self) -> Option<ListArc<T, ID>> { in remove_next() argument
1093 pub fn remove_prev(&mut self) -> Option<ListArc<T, ID>> { in remove_prev() argument
1104 pub struct CursorPeek<'a, 'b, T: ?Sized + ListItem<ID>, const ISNEXT: bool, const ID: u64> {
1105 cursor: &'a mut Cursor<'b, T, ID>,
1109 impl<'a, 'b, T: ?Sized + ListItem<ID>, const ISNEXT: bool, const ID: u64>
1110 CursorPeek<'a, 'b, T, ISNEXT, ID>
1113 pub fn remove(self) -> ListArc<T, ID> { in remove() argument
1143 impl<'a, 'b, T: ?Sized + ListItem<ID>, const ISNEXT: bool, const ID: u64> core::ops::Deref
1144 for CursorPeek<'a, 'b, T, ISNEXT, ID>
1167 impl<'a, T: ?Sized + ListItem<ID>, const ID: u64> FusedIterator for Iter<'a, T, ID> {}
1169 impl<'a, T: ?Sized + ListItem<ID>, const ID: u64> IntoIterator for &'a List<T, ID> {
1170 type IntoIter = Iter<'a, T, ID>;
1173 fn into_iter(self) -> Iter<'a, T, ID> { in into_iter() argument
1179 pub struct IntoIter<T: ?Sized + ListItem<ID>, const ID: u64 = 0> {
1180 list: List<T, ID>,
1183 impl<T: ?Sized + ListItem<ID>, const ID: u64> Iterator for IntoIter<T, ID> {
1184 type Item = ListArc<T, ID>;
1186 fn next(&mut self) -> Option<ListArc<T, ID>> { in next() argument
1191 impl<T: ?Sized + ListItem<ID>, const ID: u64> FusedIterator for IntoIter<T, ID> {}
1193 impl<T: ?Sized + ListItem<ID>, const ID: u64> DoubleEndedIterator for IntoIter<T, ID> {
1194 fn next_back(&mut self) -> Option<ListArc<T, ID>> { in next_back() argument
1199 impl<T: ?Sized + ListItem<ID>, const ID: u64> IntoIterator for List<T, ID> {
1200 type IntoIter = IntoIter<T, ID>;
1201 type Item = ListArc<T, ID>;
1203 fn into_iter(self) -> IntoIter<T, ID> { in into_iter() argument