mosesdecoder/moses/ChartTranslationOption.h

54 lines
1.2 KiB
C
Raw Normal View History

#pragma once
#include "ScoreComponentCollection.h"
namespace Moses
{
class TargetPhrase;
class InputPath;
class InputType;
class StackVec;
class ChartTranslationOption
{
2013-09-27 12:35:24 +04:00
friend std::ostream& operator<<(std::ostream&, const ChartTranslationOption&);
2013-09-22 17:09:49 +04:00
protected:
const TargetPhrase &m_targetPhrase;
ScoreComponentCollection m_scoreBreakdown;
const InputPath *m_inputPath;
2013-09-22 17:36:50 +04:00
const std::vector<const Word*> *m_ruleSourceFromInputPath; // used by placeholders
public:
ChartTranslationOption(const TargetPhrase &targetPhrase);
const TargetPhrase &GetPhrase() const {
return m_targetPhrase;
}
2013-09-27 12:35:24 +04:00
const InputPath *GetInputPath() const {
return m_inputPath;
}
void SetInputPath(const InputPath *inputPath) {
m_inputPath = inputPath;
}
2013-09-22 17:36:50 +04:00
2013-09-27 12:35:24 +04:00
const std::vector<const Word*> *GetSourceRuleFromInputPath() const {
return m_ruleSourceFromInputPath;
}
void SetSourceRuleFromInputPath(const std::vector<const Word*> *obj) {
m_ruleSourceFromInputPath = obj;
}
const ScoreComponentCollection &GetScores() const {
return m_scoreBreakdown;
}
void Evaluate(const InputType &input,
const InputPath &inputPath,
const StackVec &stackVec);
};
}