Struct graphene::core::constraint::UniqueGraph [] [src]

pub struct UniqueGraph<G> where
    G: ConstrainedGraph,
    <G as BaseGraph>::Vertex: Vertex,
    <G as BaseGraph>::Weight: Weight,
    <<G as BaseGraph>::VertexIter as IntoIterator>::IntoIter: ExactSizeIterator,
    <<G as BaseGraph>::EdgeIter as IntoIterator>::IntoIter: ExactSizeIterator
{ /* fields omitted */ }

A graph wrapper that enforces the Unique constraint on any graph its given.

See <INSERT LINK TO Unique> for a complete description.

Trait Implementations

impl<G: Debug> Debug for UniqueGraph<G> where
    G: ConstrainedGraph,
    <G as BaseGraph>::Vertex: Vertex,
    <G as BaseGraph>::Weight: Weight,
    <<G as BaseGraph>::VertexIter as IntoIterator>::IntoIter: ExactSizeIterator,
    <<G as BaseGraph>::EdgeIter as IntoIterator>::IntoIter: ExactSizeIterator
[src]

[src]

Formats the value using the given formatter. Read more

impl<G: Clone> Clone for UniqueGraph<G> where
    G: ConstrainedGraph,
    <G as BaseGraph>::Vertex: Vertex,
    <G as BaseGraph>::Weight: Weight,
    <<G as BaseGraph>::VertexIter as IntoIterator>::IntoIter: ExactSizeIterator,
    <<G as BaseGraph>::EdgeIter as IntoIterator>::IntoIter: ExactSizeIterator
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<G> GraphWrapper for UniqueGraph<G> where
    G: ConstrainedGraph,
    <G as BaseGraph>::Vertex: Vertex,
    <G as BaseGraph>::Weight: Weight,
    <<G as BaseGraph>::VertexIter as IntoIterator>::IntoIter: ExactSizeIterator,
    <<G as BaseGraph>::EdgeIter as IntoIterator>::IntoIter: ExactSizeIterator
[src]

[src]

[src]

[src]

[src]

impl<G> Unique for UniqueGraph<G> where
    G: ConstrainedGraph,
    <G as BaseGraph>::Vertex: Vertex,
    <G as BaseGraph>::Weight: Weight,
    <<G as BaseGraph>::VertexIter as IntoIterator>::IntoIter: ExactSizeIterator,
    <<G as BaseGraph>::EdgeIter as IntoIterator>::IntoIter: ExactSizeIterator
[src]

impl<G> BaseGraph for UniqueGraph<G> where
    G: ConstrainedGraph,
    <G as BaseGraph>::Vertex: Vertex,
    <G as BaseGraph>::Weight: Weight,
    <<G as BaseGraph>::VertexIter as IntoIterator>::IntoIter: ExactSizeIterator,
    <<G as BaseGraph>::EdgeIter as IntoIterator>::IntoIter: ExactSizeIterator
[src]

Type of the vertices in the graph.

Type of the weights in the graph.

Type of the collection returned with vertices.

Type of the collection returned with edges.

[src]

Creates an empty graph. I.e a graph with no vertices and no edges. Read more

[src]

Returns copies of all current vertices in the graph. Read more

[src]

Returns copies of all current edges in the graph. Read more

[src]

Adds the given vertex to graph as long as no equal vertex is already present i the graph and the graph is capable of storing it. Read more

[src]

Removes the given vertex from the graph, assuming it is present. Read more

[src]

Adds the given edge to the graph assuming it connects to valid vertices. Read more

[src]

Removes the given edge from the graph, assuming it is already present. Read more

[src]

Returns the number of vertices in the graph. Read more

[src]

Returns the number of edges in the graph. Read more

[src]

Creates a graph containing the given vertices and edges. There can be no duplicate vertices and all edges must connect to the given vertices. Read more

[src]

Returns all edges that are connect to both the given vertices. Read more

[src]

Returns all edges that are sourced in the given vertex. Read more

[src]

Returns all edges that are sinked in the given vertex. Read more

impl<G> ConstrainedGraph for UniqueGraph<G> where
    G: ConstrainedGraph,
    <G as BaseGraph>::Vertex: Vertex,
    <G as BaseGraph>::Weight: Weight,
    <<G as BaseGraph>::VertexIter as IntoIterator>::IntoIter: ExactSizeIterator,
    <<G as BaseGraph>::EdgeIter as IntoIterator>::IntoIter: ExactSizeIterator
[src]

[src]

Checks whether the current state of the graph upholds the constraint invariant. Read more

[src]

Adds the given vertex to the graph without upholding the constraint invariant. Read more

[src]

Removes the given vertex from the graph without upholding the constraint invariant. Read more

[src]

Adds the given edge to the graph without upholding the constraint invariant. Read more

[src]

Removes the given edge from the graph without upholding the constraint invariant. Read more

[src]

Returns an Unconstrainer connected to the graph. Read more

Auto Trait Implementations

impl<G> Send for UniqueGraph<G> where
    G: Send

impl<G> Sync for UniqueGraph<G> where
    G: Sync