#pragma once #include #include "moses/ThreadPool.h" #include "moses/Manager.h" #include "moses/HypergraphOutput.h" #include "moses/IOWrapper.h" #include "moses/Manager.h" #include "moses/ChartManager.h" #include "moses/Syntax/F2S/Manager.h" #include "moses/Syntax/S2T/Manager.h" #include "moses/Syntax/T2S/Manager.h" namespace Moses { class InputType; class OutputCollector; /** Translates a sentence. * - calls the search (Manager) * - applies the decision rule * - outputs best translation and additional reporting **/ class TranslationTask : public Moses::Task { public: TranslationTask(Moses::InputType* source, Moses::IOWrapper &ioWrapper); ~TranslationTask(); /** Translate one sentence * gets called by main function implemented at end of this source file */ void Run(); private: Moses::InputType* m_source; Moses::IOWrapper &m_ioWrapper; }; } //namespace