Trait fera_graph::graphs::WithEdge
[−]
[src]
pub trait WithEdge: Sized + WithVertex + for<'a> EdgeTypes<'a, Self> { type Kind: EdgeKind; type Edge: 'static + GraphItem; type OptionEdge: 'static + GraphItem + Optional<Edge<Self>> + From<Option<Edge<Self>>>; fn orientation(&self, _e: Edge<Self>) -> Orientation; fn source(&self, e: Edge<Self>) -> Vertex<Self>; fn target(&self, e: Edge<Self>) -> Vertex<Self>; fn ends<'a, I, O>(&'a self, item: I) -> O
where
I: Ends<'a, Self, O>, { ... } fn end_vertices(&self, e: Edge<Self>) -> (Vertex<Self>, Vertex<Self>) { ... } fn with_ends<I>(&self, iter: I) -> EdgesWithEnds<Self, I::IntoIter>
where
I: IntoIterator,
I::Item: IntoOwned<Edge<Self>>, { ... } fn opposite(&self, u: Vertex<Self>, e: Edge<Self>) -> Vertex<Self> { ... } fn is_incident(&self, v: Vertex<Self>, e: Edge<Self>) -> bool { ... } fn reverse(&self, e: Edge<Self>) -> Edge<Self>
where
Self: WithEdge<Kind = Undirected>, { ... } fn get_reverse(&self, _e: Edge<Self>) -> Option<Edge<Self>> { ... } fn edge_none() -> OptionEdge<Self> { ... } fn edge_some(e: Edge<Self>) -> OptionEdge<Self> { ... } fn edge_prop<P, T>(&self, value: T) -> P
where
P: EdgePropMutNew<Self, T>,
T: Clone, { ... } fn edge_prop_from_fn<P, F, T>(&self, fun: F) -> P
where
Self: EdgeList,
P: EdgePropMutNew<Self, T>,
F: FnMut(Edge<Self>) -> T,
T: Default + Clone, { ... } }
Associated Types
type Kind: EdgeKind
type Edge: 'static + GraphItem
type OptionEdge: 'static + GraphItem + Optional<Edge<Self>> + From<Option<Edge<Self>>>
Required Methods
fn orientation(&self, _e: Edge<Self>) -> Orientation
fn source(&self, e: Edge<Self>) -> Vertex<Self>
fn target(&self, e: Edge<Self>) -> Vertex<Self>
Provided Methods
fn ends<'a, I, O>(&'a self, item: I) -> O where
I: Ends<'a, Self, O>,
I: Ends<'a, Self, O>,
fn end_vertices(&self, e: Edge<Self>) -> (Vertex<Self>, Vertex<Self>)
fn with_ends<I>(&self, iter: I) -> EdgesWithEnds<Self, I::IntoIter> where
I: IntoIterator,
I::Item: IntoOwned<Edge<Self>>,
I: IntoIterator,
I::Item: IntoOwned<Edge<Self>>,
fn opposite(&self, u: Vertex<Self>, e: Edge<Self>) -> Vertex<Self>
fn is_incident(&self, v: Vertex<Self>, e: Edge<Self>) -> bool
fn reverse(&self, e: Edge<Self>) -> Edge<Self> where
Self: WithEdge<Kind = Undirected>,
Self: WithEdge<Kind = Undirected>,
fn get_reverse(&self, _e: Edge<Self>) -> Option<Edge<Self>>
fn edge_none() -> OptionEdge<Self>
fn edge_some(e: Edge<Self>) -> OptionEdge<Self>
fn edge_prop<P, T>(&self, value: T) -> P where
P: EdgePropMutNew<Self, T>,
T: Clone,
P: EdgePropMutNew<Self, T>,
T: Clone,
fn edge_prop_from_fn<P, F, T>(&self, fun: F) -> P where
Self: EdgeList,
P: EdgePropMutNew<Self, T>,
F: FnMut(Edge<Self>) -> T,
T: Default + Clone,
Self: EdgeList,
P: EdgePropMutNew<Self, T>,
F: FnMut(Edge<Self>) -> T,
T: Default + Clone,
Implementations on Foreign Types
impl<'a, G: WithEdge> WithEdge for &'a G
[src]
type Kind = G::Kind
type Edge = Edge<G>
type OptionEdge = OptionEdge<G>
fn source(&self, e: Edge<Self>) -> Vertex<Self>
[src]
fn target(&self, e: Edge<Self>) -> Vertex<Self>
[src]
fn orientation(&self, e: Edge<Self>) -> Orientation
[src]
fn end_vertices(&self, e: Edge<Self>) -> (Vertex<Self>, Vertex<Self>)
[src]
fn opposite(&self, u: Vertex<Self>, e: Edge<Self>) -> Vertex<Self>
[src]
fn get_reverse(&self, e: Edge<Self>) -> Option<Edge<Self>>
[src]
fn edge_none() -> OptionEdge<Self>
[src]
fn edge_some(e: Edge<Self>) -> OptionEdge<Self>
[src]
fn ends<'a, I, O>(&'a self, item: I) -> O where
I: Ends<'a, Self, O>,
[src]
I: Ends<'a, Self, O>,
fn with_ends<I>(&self, iter: I) -> EdgesWithEnds<Self, I::IntoIter> where
I: IntoIterator,
I::Item: IntoOwned<Edge<Self>>,
[src]
I: IntoIterator,
I::Item: IntoOwned<Edge<Self>>,
fn is_incident(&self, v: Vertex<Self>, e: Edge<Self>) -> bool
[src]
fn reverse(&self, e: Edge<Self>) -> Edge<Self> where
Self: WithEdge<Kind = Undirected>,
[src]
Self: WithEdge<Kind = Undirected>,
fn edge_prop<P, T>(&self, value: T) -> P where
P: EdgePropMutNew<Self, T>,
T: Clone,
[src]
P: EdgePropMutNew<Self, T>,
T: Clone,
fn edge_prop_from_fn<P, F, T>(&self, fun: F) -> P where
Self: EdgeList,
P: EdgePropMutNew<Self, T>,
F: FnMut(Edge<Self>) -> T,
T: Default + Clone,
[src]
Self: EdgeList,
P: EdgePropMutNew<Self, T>,
F: FnMut(Edge<Self>) -> T,
T: Default + Clone,
Implementors
impl<'a, G> WithEdge for Subgraph<'a, G> where
G: 'a + Graph, type Kind = G::Kind; type Edge = Edge<G>; type OptionEdge = OptionEdge<G>;impl<'a, G> WithEdge for SpanningSubgraph<'a, G> where
G: 'a + WithEdge + WithVertexProp<Vec<Edge<G>>>, type Kind = G::Kind; type Edge = Edge<G>; type OptionEdge = OptionEdge<G>;impl<V, K> WithEdge for AdjSet<V, K> where
V: AdjSetVertex,
K: AdjSetEdgeKind<V>, type Kind = K; type Edge = K::Edge; type OptionEdge = Option<K::Edge>;impl<K: CompleteEdgeKind> WithEdge for Complete<K> type Kind = K; type Edge = K::Edge; type OptionEdge = Optioned<K::Edge, MaxNone<K::Edge>>;
impl<V: Num, K: StaticEdgeKind> WithEdge for Static<V, K> type Kind = K::Kind; type Edge = K::Edge; type OptionEdge = OptionalMax<Self::Edge>;