//================================================================== // File: labeledVertex.h // Author: Timothy A. Budd // Platform: Cfront // Description: Template Description of labeled graph vertex // Copyright (c) 1992 by Timothy A. Budd, All Rights Reserved // Permission granted for duplication if not for profit //================================================================== # ifndef labeldVertexH # define labeldVertexH // // weighted graph vertices // # include // // class labeledVertex // vertex maintaining arcs with edge weights // template class labeledVertex { public: T value; // constructors labeledVertex(); labeledVertex(T init); labeledVertex(const labeledVertex & x); // collect the set of neighbor arcs dictionary arcs; // add an arc void addArc(labeledVertex * to, A label); }; template int operator == (const labeledVertex & left, const labeledVertex & right); template labeledVertex::labeledVertex() { } template labeledVertex::labeledVertex(T init) : value(init) { } template labeledVertex::labeledVertex(const labeledVertex & x) : value(x.value) { } template void labeledVertex::addArc(labeledVertex * to, A label) { arcs[to] = label; } template int operator == (const labeledVertex & left, const labeledVertex & right) { return left.value == right.value; } # endif