Struct falcon::graph::Graph [] [src]

pub struct Graph<V, E> { /* fields omitted */ }

A directed graph.

Methods

impl<V, E> Graph<V, E> where
    V: Sync + Vertex,
    E: Edge + Sync
[src]

[src]

[src]

[src]

Returns true if the vertex with the given index exists in this graph

[src]

Sets the head of this graph.

[src]

Returns the head of this graph.

[src]

Removes a vertex, and all edges associated with that vertex.

[src]

Removes an edge

[src]

Inserts a vertex into the graph.

Errors

Error if the vertex already exists by index.

[src]

Inserts an edge into the graph.

Errors

Error if the edge already exists by indices.

[src]

Returns all immediate successors of a vertex from the graph.

[src]

Returns all immediate predecessors of a vertex from the graph.

[src]

Computes the dominance frontiers for all vertices in the graph

Warning

Unsure of correctness of this implementation

[src]

[src]

Computes dominators for all vertices in the graph

[src]

Computes predecessors for all vertices in the graph

The resulting sets include all predecessors for each vertex in the graph, not just immediate predecessors.

Given A -> B -> C, both A and B will be in the set for C.

[src]

Creates an acyclic graph with NullVertex and NullEdge

[src]

Returns all vertices in the graph.

[src]

[src]

Fetches an index from the graph by index.

[src]

[src]

[src]

[src]

Get a reference to every Edge in the Graph.

[src]

Get a mutable reference to every Edge in the Graph.

[src]

Return all edges out for a vertex

[src]

Return all edges in for a vertex

[src]

Returns a string in the graphviz format

Trait Implementations

impl<V: Clone, E: Clone> Clone for Graph<V, E>
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<V: Debug, E: Debug> Debug for Graph<V, E>
[src]

[src]

Formats the value using the given formatter. Read more

impl<V: Eq, E: Eq> Eq for Graph<V, E>
[src]

impl<V: Hash, E: Hash> Hash for Graph<V, E>
[src]

[src]

Feeds this value into the given [Hasher]. Read more

1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl<V: Ord, E: Ord> Ord for Graph<V, E>
[src]

[src]

This method returns an Ordering between self and other. Read more

1.21.0
[src]

Compares and returns the maximum of two values. Read more

1.21.0
[src]

Compares and returns the minimum of two values. Read more

impl<V: PartialEq, E: PartialEq> PartialEq for Graph<V, E>
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl<V: PartialOrd, E: PartialOrd> PartialOrd for Graph<V, E>
[src]

[src]

This method returns an ordering between self and other values if one exists. Read more

[src]

This method tests less than (for self and other) and is used by the < operator. Read more

[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations

impl<V, E> Send for Graph<V, E> where
    E: Send,
    V: Send

impl<V, E> Sync for Graph<V, E> where
    E: Sync,
    V: Sync