mosesdecoder/moses/TrainingTask.h

47 lines
844 B
C
Raw Normal View History

2015-01-08 16:54:47 +03:00
#pragma once
#include <boost/smart_ptr/shared_ptr.hpp>
#include "moses/ThreadPool.h"
#include "moses/TranslationOptionCollection.h"
#include "moses/IOWrapper.h"
namespace Moses
{
class InputType;
class OutputCollector;
class TrainingTask : public Moses::Task
{
public:
TrainingTask(Moses::InputType* source, Moses::IOWrapper &ioWrapper)
: m_source(source)
, m_ioWrapper(ioWrapper)
{}
~TrainingTask()
{}
void Run()
{
StaticData::Instance().InitializeForInput(*m_source);
TranslationOptionCollection *transOptColl = m_source->CreateTranslationOptionCollection();
transOptColl->CreateTranslationOptions();
delete transOptColl;
StaticData::Instance().CleanUpAfterSentenceProcessing(*m_source);
}
private:
Moses::InputType* m_source;
Moses::IOWrapper &m_ioWrapper;
};
} //namespace