pub struct Subgraph<G: SwhGraph, NodeFilter: Fn(usize) -> bool, ArcFilter: Fn(usize, usize) -> bool> {
pub graph: G,
pub node_filter: NodeFilter,
pub arc_filter: ArcFilter,
}
Expand description
A view over SwhGraph
and related traits, that filters out some nodes and arcs
based on arbitrary closures.
Fields§
§graph: G
§node_filter: NodeFilter
§arc_filter: ArcFilter
Implementations§
Trait Implementations§
source§impl<G: SwhBackwardGraph, NodeFilter: Fn(usize) -> bool, ArcFilter: Fn(usize, usize) -> bool> SwhBackwardGraph for Subgraph<G, NodeFilter, ArcFilter>
impl<G: SwhBackwardGraph, NodeFilter: Fn(usize) -> bool, ArcFilter: Fn(usize, usize) -> bool> SwhBackwardGraph for Subgraph<G, NodeFilter, ArcFilter>
type Predecessors<'succ> = FilteredPredecessors<'succ, <<G as SwhBackwardGraph>::Predecessors<'succ> as IntoIterator>::IntoIter, NodeFilter, ArcFilter> where Self: 'succ
source§fn predecessors(&self, node_id: NodeId) -> Self::Predecessors<'_>
fn predecessors(&self, node_id: NodeId) -> Self::Predecessors<'_>
Return an
IntoIterator
over the predecessors of a node.source§impl<G: SwhForwardGraph, NodeFilter: Fn(usize) -> bool, ArcFilter: Fn(usize, usize) -> bool> SwhForwardGraph for Subgraph<G, NodeFilter, ArcFilter>
impl<G: SwhForwardGraph, NodeFilter: Fn(usize) -> bool, ArcFilter: Fn(usize, usize) -> bool> SwhForwardGraph for Subgraph<G, NodeFilter, ArcFilter>
type Successors<'succ> = FilteredSuccessors<'succ, <<G as SwhForwardGraph>::Successors<'succ> as IntoIterator>::IntoIter, NodeFilter, ArcFilter> where Self: 'succ
source§fn successors(&self, node_id: NodeId) -> Self::Successors<'_>
fn successors(&self, node_id: NodeId) -> Self::Successors<'_>
Return an
IntoIterator
over the successors of a node.source§impl<G: SwhGraph, NodeFilter: Fn(usize) -> bool, ArcFilter: Fn(usize, usize) -> bool> SwhGraph for Subgraph<G, NodeFilter, ArcFilter>
impl<G: SwhGraph, NodeFilter: Fn(usize) -> bool, ArcFilter: Fn(usize, usize) -> bool> SwhGraph for Subgraph<G, NodeFilter, ArcFilter>
source§impl<G: SwhGraphWithProperties, NodeFilter: Fn(usize) -> bool, ArcFilter: Fn(usize, usize) -> bool> SwhGraphWithProperties for Subgraph<G, NodeFilter, ArcFilter>
impl<G: SwhGraphWithProperties, NodeFilter: Fn(usize) -> bool, ArcFilter: Fn(usize, usize) -> bool> SwhGraphWithProperties for Subgraph<G, NodeFilter, ArcFilter>
type Maps = <G as SwhGraphWithProperties>::Maps
type Timestamps = <G as SwhGraphWithProperties>::Timestamps
type Persons = <G as SwhGraphWithProperties>::Persons
type Contents = <G as SwhGraphWithProperties>::Contents
type Strings = <G as SwhGraphWithProperties>::Strings
type LabelNames = <G as SwhGraphWithProperties>::LabelNames
fn properties( &self ) -> &SwhGraphProperties<Self::Maps, Self::Timestamps, Self::Persons, Self::Contents, Self::Strings, Self::LabelNames>
source§impl<G: SwhLabelledBackwardGraph, NodeFilter: Fn(usize) -> bool, ArcFilter: Fn(usize, usize) -> bool> SwhLabelledBackwardGraph for Subgraph<G, NodeFilter, ArcFilter>
impl<G: SwhLabelledBackwardGraph, NodeFilter: Fn(usize) -> bool, ArcFilter: Fn(usize, usize) -> bool> SwhLabelledBackwardGraph for Subgraph<G, NodeFilter, ArcFilter>
type LabelledArcs<'arc> = <G as SwhLabelledBackwardGraph>::LabelledArcs<'arc> where Self: 'arc
type LabelledPredecessors<'node> = FilteredLabelledPredecessors<'node, <Subgraph<G, NodeFilter, ArcFilter> as SwhLabelledBackwardGraph>::LabelledArcs<'node>, <<G as SwhLabelledBackwardGraph>::LabelledPredecessors<'node> as IntoIterator>::IntoIter, NodeFilter, ArcFilter> where Self: 'node
source§fn labelled_predecessors(
&self,
node_id: NodeId
) -> Self::LabelledPredecessors<'_>
fn labelled_predecessors( &self, node_id: NodeId ) -> Self::LabelledPredecessors<'_>
Return an
IntoIterator
over the successors of a node.source§impl<G: SwhLabelledForwardGraph, NodeFilter: Fn(usize) -> bool, ArcFilter: Fn(usize, usize) -> bool> SwhLabelledForwardGraph for Subgraph<G, NodeFilter, ArcFilter>
impl<G: SwhLabelledForwardGraph, NodeFilter: Fn(usize) -> bool, ArcFilter: Fn(usize, usize) -> bool> SwhLabelledForwardGraph for Subgraph<G, NodeFilter, ArcFilter>
type LabelledArcs<'arc> = <G as SwhLabelledForwardGraph>::LabelledArcs<'arc> where Self: 'arc
type LabelledSuccessors<'node> = FilteredLabelledSuccessors<'node, <Subgraph<G, NodeFilter, ArcFilter> as SwhLabelledForwardGraph>::LabelledArcs<'node>, <<G as SwhLabelledForwardGraph>::LabelledSuccessors<'node> as IntoIterator>::IntoIter, NodeFilter, ArcFilter> where Self: 'node
source§fn labelled_successors(&self, node_id: NodeId) -> Self::LabelledSuccessors<'_>
fn labelled_successors(&self, node_id: NodeId) -> Self::LabelledSuccessors<'_>
Return an
IntoIterator
over the successors of a node.Auto Trait Implementations§
impl<G, NodeFilter, ArcFilter> RefUnwindSafe for Subgraph<G, NodeFilter, ArcFilter>where ArcFilter: RefUnwindSafe, G: RefUnwindSafe, NodeFilter: RefUnwindSafe,
impl<G, NodeFilter, ArcFilter> Send for Subgraph<G, NodeFilter, ArcFilter>where ArcFilter: Send, G: Send, NodeFilter: Send,
impl<G, NodeFilter, ArcFilter> Sync for Subgraph<G, NodeFilter, ArcFilter>where ArcFilter: Sync, G: Sync, NodeFilter: Sync,
impl<G, NodeFilter, ArcFilter> Unpin for Subgraph<G, NodeFilter, ArcFilter>where ArcFilter: Unpin, G: Unpin, NodeFilter: Unpin,
impl<G, NodeFilter, ArcFilter> UnwindSafe for Subgraph<G, NodeFilter, ArcFilter>where ArcFilter: UnwindSafe, G: UnwindSafe, NodeFilter: UnwindSafe,
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
§impl<T, U> CastableInto<U> for Twhere
U: CastableFrom<T>,
impl<T, U> CastableInto<U> for Twhere U: CastableFrom<T>,
§impl<T> DowncastableFrom<T> for T
impl<T> DowncastableFrom<T> for T
§fn downcast_from(value: T) -> T
fn downcast_from(value: T) -> T
Truncate the current UnsignedInt to a possibly smaller size
§impl<T, U> DowncastableInto<U> for Twhere
U: DowncastableFrom<T>,
impl<T, U> DowncastableInto<U> for Twhere U: DowncastableFrom<T>,
§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere T: ?Sized,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> UpcastableFrom<T> for T
impl<T> UpcastableFrom<T> for T
§fn upcast_from(value: T) -> T
fn upcast_from(value: T) -> T
Extend the current UnsignedInt to a possibly bigger size.