Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype Graph g e v = Graph {
- getGraphInternal :: SomeGraph e v
- data SomeGraph e v = SomeGraph {
- graphVertices :: !(Vector v)
- graphOutboundNeighborVertices :: !(Vector (Vector Int))
- graphOutboundNeighborEdges :: !(Vector (Vector e))
- newtype Size g = Size {}
- newtype Vertex g = Vertex {}
- newtype Vertices g v = Vertices {}
- newtype MVertices g s v = MVertices {
- getMVerticesInternal :: MVector s v
- newtype MUVertices g s v = MUVertices {
- getMUVerticesInternal :: MVector s v
- data IntPair = IntPair !Int !Int
- data MGraph g s e v = MGraph {
- mgraphVertexIndex :: !(HashTable s v Int)
- mgraphCurrentId :: !(MutVar s Int)
- mgraphEdges :: !(HashTable s IntPair e)
Documentation
The neighbor vertices and neighbor edges must have equal length.
TODO: enforce that the inner vectors for the neighbors are ordered. This will make testing for neighbors easier and will make an equality check easier.
SomeGraph | |
|
newtype MUVertices g s v Source #
MGraph | |
|