Module outils::types [] [src]

Types that are the basic building blocks of the types and algorithms provided by this library.

Structs

Edge

Light-weight, read-only type holding an edge index and the two vertices connected by the indexed edge, i.e. e = (v, w)

EdgeIndex

Newtype to be used as a type-safe edge identifier

EmptyWeight

Unit-like (i.e. zero-sized) struct that can be used as an WeightType.

NodeIndex

Newtype to be used as a type-safe tree node identifier

VertexIndex

Newtype to be used as a type-safe vertex identifier

Traits

Edges

Graphs implementing this trait are able to return an iterator over the indices of their edges.

IndexType

Super trait for types that are supported as tree node, vertex and egde indices. This trait is implemented automatically for all types implementing the base traits

KeyType

Super trait for types that are supported as search keys. This trait is implemented automatically for all types implementing the base traits

Keys

Trees implementing this trait are able to return an iterator over the search keys held by the implementing struct.

Tgf

Trees and graphs implementing this trait are able to export a TGF representation of themselves, using debug formatting for tree node, vertex and edge contents.

ValueType

Super trait for types that are supported as values to be stored in the structs provided by this library. This trait is implemented automatically for all types implementing the base traits

Values

Trees implementing this trait are able to return an iterator over the values stored by the implementing struct.

Vertices

Graphs implementing this trait are able to return an iterator over the indices of their vertices.

WeightType

Super trait for types that are supported as tree node and vertex weights. This trait is implemented automatically for all types implementing the base traits

Type Definitions

DefaultIndexType

The default implementation of IndexType is usize.

DefaultWeightType

The default implementation of WeightType is usize.