| #pragma once |
|
|
| #include "ScoreComponentCollection.h" |
|
|
| namespace Moses |
| { |
| class TargetPhrase; |
| class InputPath; |
| class InputType; |
| class StackVec; |
|
|
| class ChartTranslationOption |
| { |
| friend std::ostream& operator<<(std::ostream&, const ChartTranslationOption&); |
|
|
| protected: |
| const TargetPhrase &m_targetPhrase; |
| ScoreComponentCollection m_scoreBreakdown; |
| const InputPath *m_inputPath; |
| const std::vector<const Word*> *m_ruleSourceFromInputPath; |
|
|
| public: |
| ChartTranslationOption(const TargetPhrase &targetPhrase); |
|
|
| const TargetPhrase &GetPhrase() const { |
| return m_targetPhrase; |
| } |
|
|
| const InputPath *GetInputPath() const { |
| return m_inputPath; |
| } |
|
|
| void SetInputPath(const InputPath *inputPath) { |
| m_inputPath = inputPath; |
| } |
|
|
| 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 EvaluateWithSourceContext(const InputType &input, |
| const InputPath &inputPath, |
| const StackVec &stackVec); |
| }; |
|
|
| } |
|
|
|
|