#pragma once #include "xast_parse.h" #include namespace compare { enum class Type { UpstreamAlter, FragmentAlter }; class Compare { private: QHash> _graph_base; public: explicit Compare(const QHash>& graph); const QHash> &graphBind() const; QList> changeCompare(Type type, const QHash>& g_old) const; private: /* * @brief 情节相关内容比较 * @param a 本情节 * @param b 旧情节 * @return true-有变更 */ bool fragment_check(std::shared_ptr a, std::shared_ptr b) const; /* * @brief 情节上游内容比较 * @param a 本情节 * @param b 旧情节 * @return true-有变更 */ bool upstream_check(std::shared_ptr a, std::shared_ptr b) const; }; }