1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
//! An actually useful linked list :) documentation will follow.
//!
//! # Example
//!
//! ```rust
//! use orx_linked_list::prelude::*;
//!
//! let mut list = LinkedList::with_exponential_growth(2, 1.5);
//!
//! // build linked list: x <-> a <-> b <-> c
//! list.push_back('a');
//! list.push_back('b');
//! list.push_front('x');
//! list.push_back('c');
//!
//! assert_eq!(Some('c'), list.pop_back());
//! assert_eq!(Some('b'), list.pop_back());
//! assert_eq!(Some('a'), list.pop_back());
//! assert_eq!(Some('x'), list.pop_back());
//! assert_eq!(None, list.pop_back());
//! assert_eq!(None, list.pop_front());
//! ```
#![warn(
missing_docs,
clippy::unwrap_in_result,
clippy::unwrap_used,
clippy::panic,
clippy::panic_in_result_fn,
clippy::float_cmp,
clippy::float_cmp_const,
clippy::missing_panics_doc,
clippy::todo
)]
mod common_traits;
mod impl_bounded;
mod iterator;
mod linked_list;
mod mem;
mod new;
mod node;
/// Common traits, enums and structs.
pub mod prelude;
pub use crate::linked_list::LinkedList;
pub use crate::mem::{MemoryStatus, MemoryUtilization};
pub use orx_imp_vec::prelude::*;