petgraph::visit

Struct EdgeFiltered

Source
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>
where G: IntoEdgeReferences, F: Fn(G::EdgeRef) -> bool,

Source

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

Create an EdgeFiltered adaptor from the closure filter.

Trait Implementations§

Source§

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

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: Debug, F: Debug> Debug for EdgeFiltered<G, F>

Source§

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

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: Self::EdgeId) -> usize

Convert a to an integer index.
Source§

fn from_index(&self, i: usize) -> Self::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,

Source§

type NodeId = <G as GraphBase>::NodeId

node identifier
Source§

type EdgeId = <G as GraphBase>::EdgeId

edge identifier
Source§

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

Source§

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>
where G: IntoEdges, F: FilterEdge<G::EdgeRef>,

Source§

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

Source§

fn edges(self, n: G::NodeId) -> Self::Edges

Source§

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

Source§

impl<'a, G, F> IntoNeighbors for &'a EdgeFiltered<G, F>
where G: IntoEdges, F: FilterEdge<G::EdgeRef>,

Source§

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

Source§

fn neighbors(self, n: G::NodeId) -> Self::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: Self::NodeId) -> usize

Convert a to an integer index.
Source§

fn from_index(&self, i: usize) -> Self::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,

Source§

type Map = <G as Visitable>::Map

The associated map type
Source§

fn visit_map(&self) -> Self::Map

Create a new visitor map
Source§

fn reset_map(&self, map: &mut Self::Map)

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

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

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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,

Source§

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>,

Source§

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>,

Source§

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.