struct Edge; struct Node { Edge* FindEdgeTo(const Node* n0) const { for (UINT edgeIndex = 0; edgeIndex < edges.Length(); edgeIndex++) { Edge* curEdge = edges[edgeIndex]; if (curEdge->ContainsNode(n0)) return curEdge; } return NULL; } void GetNeighbors(Vector &neighbors) const { for (UINT edgeIndex = 0; edgeIndex < edges.Length(); edgeIndex++) { Node* n = edges[edgeIndex]->GetOtherNode(this); neighbors.PushEnd(n); } } RGBColor color; // // Recomputed at finalize // UINT index; Vector edges; };