pub struct Graph<'a, T> { /* private fields */ }
Implementations§
Source§impl<'a, T> Graph<'a, T>
impl<'a, T> Graph<'a, T>
pub fn new(arena_list: &'a mut ArenaList<T>) -> Self
pub fn add_node(&mut self, name: &str, data: T) -> usize
pub fn add_edge(&mut self, src_idx: usize, dst_idx: usize)
pub fn add_node_and_edge( &mut self, src_name: &str, src_data: T, dst_name: &str, dst_data: T, )
pub fn get_node_by_idx(&self, idx: usize) -> &Node<T>
pub fn get_name_by_idx(&self, idx: usize) -> &String
pub fn get_idx_by_name(&self, name: &str) -> Option<&usize>
pub fn get_all_data(&self) -> Vec<&T>
pub fn get_all_node_names(&self) -> Vec<&String>
pub fn get_all_edges(&self) -> Vec<(usize, usize)>
pub fn print_nodes(&self)
pub fn print_edges(&self)
pub fn del_node_by_idx(&mut self, idx: usize) -> bool
pub fn del_edge_by_idx(&mut self, src_idx: usize, dst_idx: usize) -> bool
pub fn del_node_by_name(&mut self, name: &str) -> bool
pub fn del_edge_by_name(&mut self, src_name: &str, dst_name: &str) -> bool
pub fn clear(&mut self)
Auto Trait Implementations§
impl<'a, T> Freeze for Graph<'a, T>
impl<'a, T> RefUnwindSafe for Graph<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for Graph<'a, T>where
T: Send,
impl<'a, T> Sync for Graph<'a, T>where
T: Sync,
impl<'a, T> Unpin for Graph<'a, T>
impl<'a, T> !UnwindSafe for Graph<'a, T>
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