#pragma once #include "vector" #include #include "Symbol.h" namespace MosesTraining { namespace Syntax { namespace PostprocessEgretForests { class Forest { public: struct Vertex; struct Hyperedge { double weight; Vertex *head; std::vector tail; }; struct Vertex { Symbol symbol; int start; int end; std::vector > incoming; }; Forest() {} std::vector > vertices; private: // Copying is not allowed. Forest(const Forest &); Forest &operator=(const Forest &); }; } // namespace PostprocessEgretForests } // namespace Syntax } // namespace MosesTraining