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
use crate::hash_map::hash_map_error::HashMapError;

pub trait HashMapTrait<K, T> {
    fn new(capacity:usize)->Self;
    fn insert(&mut self, key:K, value:T);
    fn get(&self, key:&K)->Result<&T, HashMapError<K>>;
    fn get_mut(&mut self, key:&K)->Result<&mut T, HashMapError<K>>;
    fn contains_key(&self, key:&K)->bool;
    fn remove(&mut self, key:&K)->Result<(), HashMapError<K>>;
    fn size(&self)->usize;
    fn capacity(&self)->usize;
    fn iter(&self) -> Box<dyn Iterator<Item = (&K, &T)> + '_>;
    fn is_empty(&self)->bool;
}