# graph library Null safety

## Classes

- DirectedGraph
- Directed graph, can set the direction of the edge
- DirectedValueGraph
- Directed graph, but can set the direction of the edge and the value of the edge
- FullGraph
- Contains implementations of all graph features
- Graph
- Contains all types of Graph, The difference with LinkGraph is that you can set the value of the edge.
- GraphGet
- The part used to get the value of the edge in the graph
- GraphItems
- Basic graph node collection
- LinkGraph
- Contains DirectedGraph and UndirectedGraph, And can't set the value of the edge
- UndirectedGraph
- Undirected graph, Can create an edge between 2 nodes
- UndirectedValueGraph
- Undirected graph, Can create an edge and value between 2 nodes

## Mixins

- DirectedGraphMixin
- Mixing of implementations of DirectedGraph
- DirectedValueGraphMixin
- Mixing of implementations of DirectedValueGraph
- GraphGetMixin
- Mixing of implementations of GraphGet
- GraphItemsMixin
- Mixing of implementations of GraphItems
- UndirectedGraphMixin
- Mixing of implementations of UndirectedGraph
- UndirectedValueGraphMixin
- Mixing of implementations of UndirectedValueGraph