func (b GraphSpec) Directed() GraphSpec {
	b.Props &^= G_UNDIRECTED
	b.Props |= G_DIRECTED
	return b
}
Specify that the graph should have directed edges (be a digraph).
package gogl
type GraphProperties uint16
const (
	G_UNDIRECTED = 1 << iota
	G_DIRECTED
	G_BASIC
	G_LABELED
	G_WEIGHTED
	G_DATA
	G_SIMPLE
	G_LOOPS
	G_PARALLEL
	G_IMMUTABLE
	G_MUTABLE
	G_PERSISTENT = 1<<iota | G_MUTABLE  
)
type GraphSpec struct {
	Props  GraphProperties
	Source GraphSource
}
func Spec() GraphSpec {
	b := GraphSpec{Props: G_UNDIRECTED | G_SIMPLE | G_BASIC | G_MUTABLE}
	return b
}
func (b GraphSpec) Using(g GraphSource) GraphSpec {
	b.Source = g
	return b
}
func (b GraphSpec) Undirected() GraphSpec {
	b.Props &^= G_DIRECTED
	b.Props |= G_UNDIRECTED
	return b
}