pub struct CursorModel {
pub fore: Seq<LinkModel>,
pub rear: Seq<LinkModel>,
pub list_model: LinkedListModel,
}Fields§
§fore: Seq<LinkModel>§rear: Seq<LinkModel>§list_model: LinkedListModelImplementations§
Source§impl CursorModel
impl CursorModel
Source§impl CursorModel
impl CursorModel
Sourcepub open spec fn move_next_spec(self) -> Self
pub open spec fn move_next_spec(self) -> Self
{
if self.list_model.list.len() > 0 {
if self.rear.len() > 0 {
let cur = self.rear[0];
Self {
fore: self.fore.insert(self.fore.len() as int, cur),
rear: self.rear.remove(0),
list_model: self.list_model,
}
} else {
Self {
fore: Seq::<LinkModel>::empty(),
rear: self.fore,
list_model: self.list_model,
}
}
} else {
self
}
}Sourcepub open spec fn move_prev_spec(self) -> Self
pub open spec fn move_prev_spec(self) -> Self
{
if self.list_model.list.len() > 0 {
if self.fore.len() > 0 {
let cur = self.fore[self.fore.len() - 1];
Self {
fore: self.fore.remove(self.fore.len() - 1),
rear: self.rear.insert(0, cur),
list_model: self.list_model,
}
} else {
Self {
fore: self.rear,
rear: Seq::<LinkModel>::empty(),
list_model: self.list_model,
}
}
} else {
self
}
}Trait Implementations§
Auto Trait Implementations§
impl Freeze for CursorModel
impl RefUnwindSafe for CursorModel
impl Send for CursorModel
impl Sync for CursorModel
impl Unpin for CursorModel
impl UnwindSafe for CursorModel
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