private DirectedMetaGraph(DirectedGraph graph, int edgeDataSize, ArrayBase <uint> edgeData)
 {
     this._graph        = graph;
     this._edgeData     = edgeData;
     this._edgeDataSize = edgeDataSize;
 }
 public DirectedMetaGraph(int edgeDataSize, int edgeMetaDataSize, long sizeEstimate)
 {
     this._edgeDataSize = edgeMetaDataSize;
     this._graph        = new DirectedGraph(edgeDataSize, sizeEstimate, (Action <uint, uint>)((x, y) => this.SwitchEdge(x, y)));
     this._edgeData     = (ArrayBase <uint>) new MemoryArray <uint>((long)this._edgeDataSize * (long)this._graph.EdgeCount);
 }