#pragma once #include "Arc.h" #include "GraphParser.h" #define UNDEF_LEVEL -1 class Vertex { public: Vertex(); Vertex(const int &id); VertexID getID() const; std::vector getOutgoingArcs() const; int getLevel() const; bool visited() const; bool hasDefinedLevel() const; void addOutgoingArc(const Arc &arc); void setLevel(const int &level); void setVisited(const bool &visited = true); private: VertexID m_id; int m_level; bool m_visited; std::vector m_outgoing_arcs; }; inline bool operator<(const Vertex& lhs, const Vertex& rhs) { return lhs.getID() < rhs.getID(); }