$graph
$graph :
CouplingMaker searches for interface with class in its methods parameters.
This is bad because each time you inherit from these interface, you create coupling between concrete classes and god kills a kitten.
That's why these interfaces are literally "coupling generators", this is a seed for spaghetti coupling.
__construct(\Trismegiste\Mondrian\Graph\Graph  $g) 
                Decorates the graph
| \Trismegiste\Mondrian\Graph\Graph | $g | 
addEdge(\Trismegiste\Mondrian\Graph\Vertex $source, \Trismegiste\Mondrian\Graph\Vertex $target)
Add a (un)directed edge if it does not already exist
| \Trismegiste\Mondrian\Graph\Vertex | $source | |
| \Trismegiste\Mondrian\Graph\Vertex | $target | 
addVertex(\Trismegiste\Mondrian\Graph\Vertex  $v) 
                Add a vertex to the graph without edge
| \Trismegiste\Mondrian\Graph\Vertex | $v | 
searchEdge(\Trismegiste\Mondrian\Graph\Vertex $source, \Trismegiste\Mondrian\Graph\Vertex $target) : \Trismegiste\Mondrian\Graph\Edge
Searches an existing (directed or not) edge between two vertices
| \Trismegiste\Mondrian\Graph\Vertex | $source | |
| \Trismegiste\Mondrian\Graph\Vertex | $target | 
getSuccessor(\Trismegiste\Mondrian\Graph\Vertex  $v) : null|array
                Get successors of a vertex
| \Trismegiste\Mondrian\Graph\Vertex | $v | 
null if the vertex is not in this graph
                    or an array of vertices
                                    				
                            getEdgeIterator(\Trismegiste\Mondrian\Graph\Vertex  $v) : \Trismegiste\Mondrian\Graph\Iterator
                Get an iterator on edges for one vertex
| \Trismegiste\Mondrian\Graph\Vertex | $v | 
createReducedGraph() : \Trismegiste\Mondrian\Graph\Graph
Creates a new reduced graph from this Graph