eldek-tad 0.9.1

A project for learning Abstract Data Types (ADTs) in Rust. Heavily inspired by Java's implementation.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::linked_list::{iter::{Iter, IterMut}, linked_list::LinkedList, linked_list_error::LinkedListError};

pub trait LinkedListTrait<T>{
    fn new()->LinkedList<T>;
    fn from_vec(values: Vec<T>)->LinkedList<T>;
    fn push(&mut self, value: T);
    fn insert(&mut self, value: T, index: usize)-> Result<(), LinkedListError>;
    fn remove(&mut self, index: usize) -> Result<T, LinkedListError>;
    fn get(&self, index: usize) -> Result<&T, LinkedListError>;
    fn get_mut(&mut self, index: usize) -> Result<&mut T, LinkedListError>;
    fn contains(&self, value:&T)->bool;
    fn size(&self) -> usize;
    fn iter(&self) -> Iter<'_, T>;
    fn iter_mut(&mut self) -> IterMut<'_, T>;
    fn is_empty(&self)->bool;
}