#ifndef ROUTE_H #define ROUTE_H #include namespace Core { class Route { public: Route(); Route(const Route &other); bool isValid() const; QStringList links() const; Route operator|(const QString &node) const; bool operator==(const Route &other) const; bool operator<(const Route &other) const; void append(const QString &node); void prepend(const QString &node); static Route collect(const QList &list); private: QStringList links_store; }; inline uint qHash(const Core::Route &v, uint seed) { return qHash(v.links().join("/"), seed); } } // namespace Core #endif // ROUTE_H