#ifndef VERTEX_H_ #define VERTEX_H_ #include #include #include #include namespace graph { template class Vertex { public: Vertex() = default; Vertex(T v) : v(v) {} T v; std::uint16_t index = -1; std::uint16_t lowlink = -1; bool onStack = false; std::vector> edges; auto operator<=>(const Vertex&) const = default; template friend inline std::ostream& operator<<(std::ostream& os, const Vertex& v); }; template inline std::ostream& operator<<(std::ostream& os, const Vertex& vout) { return os << vout.v; } } // namespace graph #endif