The library contains a template graph model class.
- template values for nodes and vertices
- basic functions and operator overloads for adding and modifying nodes and vertices
- traversal algorithms (dfs, bfs) with support for custom functions
- keeping track of the graph proprties, namely checking whether the graph is cyclic, connected and directed
- counting the number of paths of certain length between two nodes,
- finding the shortest path between two nodes