mosesdecoder/moses/FF/LexicalReordering/BidirectionalReorderingState.h
2016-03-23 14:37:26 +00:00

39 lines
789 B
C++

#pragma once
#include "LRState.h"
namespace Moses
{
class BidirectionalReorderingState
: public LRState
{
private:
const LRState *m_backward;
const LRState *m_forward;
public:
BidirectionalReorderingState(const LRModel &config,
const LRState *bw,
const LRState *fw, size_t offset)
: LRState(config,
LRModel::Bidirectional,
offset)
, m_backward(bw)
, m_forward(fw)
{ }
~BidirectionalReorderingState() {
delete m_backward;
delete m_forward;
}
virtual size_t hash() const;
virtual bool operator==(const FFState& other) const;
LRState*
Expand(const TranslationOption& topt, const InputType& input,
ScoreComponentCollection* scores) const;
};
}