Пример #1
0
Grapher::EdgeList Grapher::edges() const
{
	EdgeList result;

	for (VertexMap::const_iterator it = m_vertices.begin(); it != m_vertices.end(); ++it)
	{
		Vertex const & v1 = it.key();
		AdjacencyList const & adjs = it.value();

		for (AdjacencyList::const_iterator jt = adjs.begin(); jt != adjs.end(); ++jt)
		{
			Vertex const & v2 = jt->v;

			if (v1 < v2) // treat it as undirectional graph
			{
				result.append(qMakePair(v1,v2));
			}
		}
	}

	return result;
}