pub struct EdgeFiltered<G, F>(pub G, pub F);
Expand description

An edge-filtering graph adaptor.

The adaptor may filter out edges. The filter implements the trait FilterEdge. Closures of type Fn(G::EdgeRef) -> bool already implement this trait.

The filter may use edge source, target, id, and weight to select whether to include the edge or not.

Tuple Fields§

§0: G§1: F

Implementations§

source§

impl<F, G> EdgeFiltered<G, F>

source

pub fn from_fn(graph: G, filter: F) -> EdgeFiltered<G, F>

Create an EdgeFiltered adaptor from the closure filter.

Trait Implementations§

source§

impl<G, F> Clone for EdgeFiltered<G, F>
where G: Clone, F: Clone,

source§

fn clone(&self) -> EdgeFiltered<G, F>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<G, F> Data for EdgeFiltered<G, F>
where G: Data,

source§

impl<G, F> Debug for EdgeFiltered<G, F>
where G: Debug, F: Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl<G, F> EdgeIndexable for EdgeFiltered<G, F>
where G: EdgeIndexable,

source§

fn edge_bound(&self) -> usize

Return an upper bound of the edge indices in the graph (suitable for the size of a bitmap).
source§

fn to_index(&self, a: <EdgeFiltered<G, F> as GraphBase>::EdgeId) -> usize

Convert a to an integer index.
source§

fn from_index(&self, i: usize) -> <EdgeFiltered<G, F> as GraphBase>::EdgeId

Convert i to an edge index. i must be a valid value in the graph.
source§

impl<G, F> GraphBase for EdgeFiltered<G, F>
where G: GraphBase,

§

type NodeId = <G as GraphBase>::NodeId

node identifier
§

type EdgeId = <G as GraphBase>::EdgeId

edge identifier
source§

impl<G, F> GraphProp for EdgeFiltered<G, F>
where G: GraphProp,

§

type EdgeType = <G as GraphProp>::EdgeType

The kind of edges in the graph.
source§

fn is_directed(&self) -> bool

source§

impl<'a, G, F> IntoEdgeReferences for &'a EdgeFiltered<G, F>

source§

impl<'a, G, F> IntoEdges for &'a EdgeFiltered<G, F>

§

type Edges = EdgeFilteredEdges<'a, G, <G as IntoEdges>::Edges, F>

source§

fn edges( self, n: <G as GraphBase>::NodeId ) -> <&'a EdgeFiltered<G, F> as IntoEdges>::Edges

source§

impl<'a, G, F> IntoEdgesDirected for &'a EdgeFiltered<G, F>

source§

impl<'a, G, F> IntoNeighbors for &'a EdgeFiltered<G, F>

§

type Neighbors = EdgeFilteredNeighbors<'a, G, F>

source§

fn neighbors( self, n: <G as GraphBase>::NodeId ) -> <&'a EdgeFiltered<G, F> as IntoNeighbors>::Neighbors

Return an iterator of the neighbors of node a.
source§

impl<'a, G, F> IntoNeighborsDirected for &'a EdgeFiltered<G, F>

source§

impl<'a, G, F> IntoNodeIdentifiers for &'a EdgeFiltered<G, F>

source§

impl<'a, G, F> IntoNodeReferences for &'a EdgeFiltered<G, F>

source§

impl<G, F> NodeCount for EdgeFiltered<G, F>
where G: NodeCount,

source§

impl<G, F> NodeIndexable for EdgeFiltered<G, F>
where G: NodeIndexable,

source§

fn node_bound(&self) -> usize

Return an upper bound of the node indices in the graph (suitable for the size of a bitmap).
source§

fn to_index(&self, a: <EdgeFiltered<G, F> as GraphBase>::NodeId) -> usize

Convert a to an integer index.
source§

fn from_index(&self, i: usize) -> <EdgeFiltered<G, F> as GraphBase>::NodeId

Convert i to a node index. i must be a valid value in the graph.
source§

impl<G, F> Visitable for EdgeFiltered<G, F>
where G: Visitable,

§

type Map = <G as Visitable>::Map

The associated map type
source§

fn visit_map(&self) -> <EdgeFiltered<G, F> as Visitable>::Map

Create a new visitor map
source§

fn reset_map(&self, map: &mut <EdgeFiltered<G, F> as Visitable>::Map)

Reset the visitor map (and resize to new size of graph if needed)
source§

impl<G, F> Copy for EdgeFiltered<G, F>
where G: Copy, F: Copy,

source§

impl<G, F> NodeCompactIndexable for EdgeFiltered<G, F>

Auto Trait Implementations§

§

impl<G, F> Freeze for EdgeFiltered<G, F>
where G: Freeze, F: Freeze,

§

impl<G, F> RefUnwindSafe for EdgeFiltered<G, F>

§

impl<G, F> Send for EdgeFiltered<G, F>
where G: Send, F: Send,

§

impl<G, F> Sync for EdgeFiltered<G, F>
where G: Sync, F: Sync,

§

impl<G, F> Unpin for EdgeFiltered<G, F>
where G: Unpin, F: Unpin,

§

impl<G, F> UnwindSafe for EdgeFiltered<G, F>
where G: UnwindSafe, F: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Downcast for T
where T: Any,

source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> TypeData for T
where T: 'static + Send + Sync + Clone,

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more