pub trait WeightedGraph<V>: GraphEngine {
type WeightRef: Deref<Target = V>;
type WeightMut: DerefMut<Target = V>;
// Required methods
fn get_node_weight(&self, node: usize) -> Option<Self::WeightRef>;
fn mut_node_weight(&self, node: usize) -> Option<Self::WeightMut>;
fn set_node_weight(&mut self, node: usize, weight: V);
fn get_edge_weight<Q>(&self, edge: Q) -> Option<Self::WeightRef>
where Q: Into<EdgeQuery>;
fn mut_edge_weight<Q>(&self, edge: Q) -> Option<Self::WeightMut>
where Q: Into<EdgeQuery>;
fn set_edge_weight<Q>(&mut self, edge: Q, weight: V)
where Q: Into<EdgeQuery>;
}
Expand description
Required Associated Types§
Required Methods§
Sourcefn get_node_weight(&self, node: usize) -> Option<Self::WeightRef>
fn get_node_weight(&self, node: usize) -> Option<Self::WeightRef>
Sourcefn mut_node_weight(&self, node: usize) -> Option<Self::WeightMut>
fn mut_node_weight(&self, node: usize) -> Option<Self::WeightMut>
Sourcefn set_node_weight(&mut self, node: usize, weight: V)
fn set_node_weight(&mut self, node: usize, weight: V)
Sourcefn get_edge_weight<Q>(&self, edge: Q) -> Option<Self::WeightRef>
fn get_edge_weight<Q>(&self, edge: Q) -> Option<Self::WeightRef>
Sourcefn mut_edge_weight<Q>(&self, edge: Q) -> Option<Self::WeightMut>
fn mut_edge_weight<Q>(&self, edge: Q) -> Option<Self::WeightMut>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.