pub struct Graph { /* private fields */ }
Implementations§
Source§impl Graph
impl Graph
pub fn new(n: u64, weighted: bool, directed: bool, edges_indexed: bool) -> Self
pub fn add_edge( &mut self, u: u64, v: u64, ew: Option<f64>, check_multi_edge: bool, ) -> bool
pub fn add_node(&mut self) -> u64
pub fn add_nodes(&mut self, number_of_new_nodes: u64) -> u64
pub fn check_consistency(&self) -> bool
pub fn compact_edges(&mut self)
pub unsafe fn degree_unchecked(&self, v: u64) -> u64
pub fn degree(&self, v: u64) -> Result<u64>
pub unsafe fn degree_in_unchecked(&self, v: u64) -> u64
pub fn degree_in(&self, v: u64) -> Result<u64>
pub unsafe fn degree_out_unchecked(&self, v: u64) -> u64
pub fn degree_out(&self, v: u64) -> Result<u64>
pub fn edge_id(&self, u: u64, v: u64) -> Result<u64>
pub fn has_edge(&self, u: u64, v: u64) -> bool
pub fn has_edge_ids(&self) -> bool
pub fn has_node(&self, v: u64) -> bool
pub unsafe fn increase_weight_unchecked( &mut self, u: u64, v: u64, ew: f64, ) -> Result<()>
pub fn increase_weight(&mut self, u: u64, v: u64, ew: f64) -> Result<()>
pub fn index_edges(&mut self, force: bool)
pub fn is_directed(&self) -> bool
pub unsafe fn is_isolated_unchecked(&self, u: u64) -> Result<bool>
pub fn is_isolated(&self, u: u64) -> Result<bool>
pub fn is_weighted(&self) -> bool
pub fn number_of_edges(&self) -> u64
pub fn number_of_nodes(&self) -> u64
pub fn number_of_self_loops(&self) -> u64
pub fn remove_all_edges(&mut self)
pub fn remove_edge(&mut self, u: u64, v: u64) -> Result<()>
pub fn remove_multi_edges(&mut self)
pub unsafe fn remove_node_unchecked(&mut self, u: u64)
pub fn remove_node(&mut self, u: u64) -> Result<()>
pub fn remove_self_loops(&mut self)
pub unsafe fn restore_node_unchecked(&mut self, u: u64)
pub fn restore_node(&mut self, u: u64) -> Result<()>
pub unsafe fn set_weight_unchecked( &mut self, u: u64, v: u64, ew: f64, ) -> Result<()>
pub fn set_weight(&mut self, u: u64, v: u64, ew: f64) -> Result<()>
pub fn sort_edges(&mut self)
pub unsafe fn swap_edge_unchecked(&mut self, s1: u64, t1: u64, s2: u64, t2: u64)
pub fn swap_edge(&mut self, s1: u64, t1: u64, s2: u64, t2: u64) -> Result<()>
pub fn total_edge_weight(&self) -> f64
pub fn upper_edge_id_bound(&self) -> u64
pub fn upper_node_id_bound(&self) -> u64
pub unsafe fn weight_unchecked(&self, u: u64, v: u64) -> f64
pub fn weight(&self, u: u64, v: u64) -> Result<f64>
pub unsafe fn weighted_degree_unchecked( self: &Graph, u: u64, count_self_loops_twice: bool, ) -> f64
pub fn weighted_degree( &self, u: u64, count_self_loops_twice: bool, ) -> Result<f64>
pub unsafe fn weighted_degree_in_unchecked( self: &Graph, u: u64, count_self_loops_twice: bool, ) -> f64
pub fn weighted_degree_in( &self, u: u64, count_self_loops_twice: bool, ) -> Result<f64>
pub fn iter_nodes<'a>(&'a self) -> impl Iterator<Item = u64> + 'a
pub fn iter_edges<'a>(&'a self) -> impl Iterator<Item = (u64, u64)> + 'a
pub fn iter_edges_weight<'a>( &'a self, ) -> impl Iterator<Item = (u64, u64, f64)> + 'a
pub fn iter_neighbours<'a>( &'a self, u: u64, ) -> Result<impl Iterator<Item = u64> + 'a>
pub fn iter_in_neighbours<'a>( &'a self, u: u64, ) -> Result<impl Iterator<Item = u64> + 'a>
pub fn iter_neighbours_weight<'a>( &'a self, u: u64, ) -> Result<impl Iterator<Item = (u64, f64)> + 'a>
pub fn iter_in_neighbours_weight<'a>( &'a self, u: u64, ) -> Result<impl Iterator<Item = (u64, f64)> + 'a>
Trait Implementations§
impl Send for Graph
Auto Trait Implementations§
impl Freeze for Graph
impl RefUnwindSafe for Graph
impl !Sync for Graph
impl Unpin for Graph
impl UnwindSafe for Graph
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