pub struct EdgeRef<'a, NodeKey: Hash + Eq + Clone, NodeData: Clone, EdgeKey: Hash + Eq + Clone, EdgeData: Clone> { /* private fields */ }Expand description
Reference to an edge in a MapGraph
The library guarantees that this references a valid node
Implementations§
Source§impl<'a, NodeKey: Hash + Eq + Clone, NodeData: Clone, EdgeKey: Hash + Eq + Clone, EdgeData: Clone> EdgeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
impl<'a, NodeKey: Hash + Eq + Clone, NodeData: Clone, EdgeKey: Hash + Eq + Clone, EdgeData: Clone> EdgeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
Sourcepub fn data(&self) -> &'a EdgeData
pub fn data(&self) -> &'a EdgeData
The data associated with this edge
(aka the edge weight)
Sourcepub fn key(&self) -> &'a EdgeKey
pub fn key(&self) -> &'a EdgeKey
The edge’s identifier
You can use this to later reference the edge in the graph (if it still exists)
Sourcepub fn get_from_node(&self) -> NodeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
pub fn get_from_node(&self) -> NodeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
Reference to the Node from which the edge starts
(aka the tail of the arc)
Sourcepub fn get_to_node(&self) -> NodeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
pub fn get_to_node(&self) -> NodeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
Reference to the Node the edge points to
(aka the head of the arc)
Trait Implementations§
Source§impl<'a, NodeKey: Clone + Hash + Eq + Clone, NodeData: Clone + Clone, EdgeKey: Clone + Hash + Eq + Clone, EdgeData: Clone + Clone> Clone for EdgeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
impl<'a, NodeKey: Clone + Hash + Eq + Clone, NodeData: Clone + Clone, EdgeKey: Clone + Hash + Eq + Clone, EdgeData: Clone + Clone> Clone for EdgeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
Source§impl<'a, NodeKey: Debug + Hash + Eq + Clone, NodeData: Debug + Clone, EdgeKey: Debug + Hash + Eq + Clone, EdgeData: Debug + Clone> Debug for EdgeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
impl<'a, NodeKey: Debug + Hash + Eq + Clone, NodeData: Debug + Clone, EdgeKey: Debug + Hash + Eq + Clone, EdgeData: Debug + Clone> Debug for EdgeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
impl<'a, NodeKey: Copy + Hash + Eq + Clone, NodeData: Copy + Clone, EdgeKey: Copy + Hash + Eq + Clone, EdgeData: Copy + Clone> Copy for EdgeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
Auto Trait Implementations§
impl<'a, NodeKey, NodeData, EdgeKey, EdgeData> Freeze for EdgeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
impl<'a, NodeKey, NodeData, EdgeKey, EdgeData> RefUnwindSafe for EdgeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>where
NodeKey: RefUnwindSafe,
NodeData: RefUnwindSafe,
EdgeKey: RefUnwindSafe,
EdgeData: RefUnwindSafe,
impl<'a, NodeKey, NodeData, EdgeKey, EdgeData> Send for EdgeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
impl<'a, NodeKey, NodeData, EdgeKey, EdgeData> Sync for EdgeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
impl<'a, NodeKey, NodeData, EdgeKey, EdgeData> Unpin for EdgeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>
impl<'a, NodeKey, NodeData, EdgeKey, EdgeData> UnwindSafe for EdgeRef<'a, NodeKey, NodeData, EdgeKey, EdgeData>where
NodeKey: RefUnwindSafe,
NodeData: RefUnwindSafe,
EdgeKey: RefUnwindSafe,
EdgeData: RefUnwindSafe,
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