mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-10-26 11:28:48 +03:00
Added GetTtask() and HasTtaskSPtr() to Phrase API; non-TargetPhrases never have a ttask associated with them, but we need to be able to check.
This commit is contained in:
parent
b5c4ab32b4
commit
8ace1398eb
@ -52,6 +52,19 @@ protected:
|
||||
std::vector<Word> m_words;
|
||||
|
||||
public:
|
||||
|
||||
/// return shared pointer to ttask
|
||||
// only TargetPhrases have non-NULL ttaskptrs!
|
||||
virtual ttasksptr GetTtask() const {
|
||||
return ttasksptr();
|
||||
}
|
||||
|
||||
/// check if this phrase belongs to a valid ttask
|
||||
// only TargetPhrases have non-NULL ttaskptrs!
|
||||
virtual bool HasTtaskSPtr() const {
|
||||
return false;
|
||||
}
|
||||
|
||||
/** No longer does anything as not using mem pool for Phrase class anymore */
|
||||
static void InitializeMemPool();
|
||||
static void FinalizeMemPool();
|
||||
|
@ -42,7 +42,6 @@ namespace Moses
|
||||
{
|
||||
TargetPhrase::TargetPhrase( std::string out_string, const PhraseDictionary *pt)
|
||||
:Phrase(0)
|
||||
, m_ttask_flag(false)
|
||||
, m_fullScore(0.0)
|
||||
, m_futureScore(0.0)
|
||||
, m_alignTerm(&AlignmentInfoCollection::Instance().GetEmptyAlignmentInfo())
|
||||
@ -62,7 +61,6 @@ TargetPhrase::TargetPhrase( std::string out_string, const PhraseDictionary *pt)
|
||||
TargetPhrase::TargetPhrase(ttasksptr& ttask, std::string out_string, const PhraseDictionary *pt)
|
||||
:Phrase(0)
|
||||
, m_ttask(ttask)
|
||||
, m_ttask_flag(true)
|
||||
, m_fullScore(0.0)
|
||||
, m_futureScore(0.0)
|
||||
, m_alignTerm(&AlignmentInfoCollection::Instance().GetEmptyAlignmentInfo())
|
||||
@ -83,7 +81,6 @@ TargetPhrase::TargetPhrase(ttasksptr& ttask, std::string out_string, const Phras
|
||||
TargetPhrase::TargetPhrase(ttasksptr& ttask, const PhraseDictionary *pt)
|
||||
:Phrase()
|
||||
, m_ttask(ttask)
|
||||
, m_ttask_flag(true)
|
||||
, m_fullScore(0.0)
|
||||
, m_futureScore(0.0)
|
||||
, m_alignTerm(&AlignmentInfoCollection::Instance().GetEmptyAlignmentInfo())
|
||||
@ -103,7 +100,6 @@ TargetPhrase::TargetPhrase(ttasksptr& ttask, const Phrase &phrase, const PhraseD
|
||||
, m_lhsTarget(NULL)
|
||||
, m_ruleSource(NULL)
|
||||
, m_ttask(ttask)
|
||||
, m_ttask_flag(true)
|
||||
, m_container(pt)
|
||||
{
|
||||
}
|
||||
@ -116,7 +112,6 @@ TargetPhrase::TargetPhrase(const PhraseDictionary *pt)
|
||||
, m_alignNonTerm(&AlignmentInfoCollection::Instance().GetEmptyAlignmentInfo())
|
||||
, m_lhsTarget(NULL)
|
||||
, m_ruleSource(NULL)
|
||||
, m_ttask_flag(false)
|
||||
, m_container(pt)
|
||||
{
|
||||
}
|
||||
@ -129,7 +124,6 @@ TargetPhrase::TargetPhrase(const Phrase &phrase, const PhraseDictionary *pt)
|
||||
, m_alignNonTerm(&AlignmentInfoCollection::Instance().GetEmptyAlignmentInfo())
|
||||
, m_lhsTarget(NULL)
|
||||
, m_ruleSource(NULL)
|
||||
, m_ttask_flag(false)
|
||||
, m_container(pt)
|
||||
{
|
||||
}
|
||||
@ -144,7 +138,6 @@ TargetPhrase::TargetPhrase(const TargetPhrase ©)
|
||||
, m_alignNonTerm(copy.m_alignNonTerm)
|
||||
, m_properties(copy.m_properties)
|
||||
, m_ttask(copy.m_ttask)
|
||||
, m_ttask_flag(copy.m_ttask_flag)
|
||||
, m_container(copy.m_container)
|
||||
{
|
||||
if (copy.m_lhsTarget) {
|
||||
@ -179,10 +172,10 @@ void TargetPhrase::WriteToRulePB(hgmert::Rule* pb) const
|
||||
|
||||
bool TargetPhrase::HasTtaskSPtr() const
|
||||
{
|
||||
return m_ttask_flag;
|
||||
return !m_ttask.expired();
|
||||
}
|
||||
|
||||
const ttasksptr TargetPhrase::GetTtask() const
|
||||
ttasksptr TargetPhrase::GetTtask() const
|
||||
{
|
||||
return m_ttask.lock();
|
||||
}
|
||||
|
@ -62,7 +62,6 @@ public:
|
||||
private:
|
||||
ScoreCache_t m_cached_scores;
|
||||
ttaskwptr m_ttask;
|
||||
bool m_ttask_flag;
|
||||
|
||||
private:
|
||||
friend std::ostream& operator<<(std::ostream&, const TargetPhrase&);
|
||||
@ -92,7 +91,7 @@ public:
|
||||
TargetPhrase(ttasksptr &ttask, const PhraseDictionary *pt = NULL);
|
||||
TargetPhrase(ttasksptr &ttask, std::string out_string, const PhraseDictionary *pt = NULL);
|
||||
explicit TargetPhrase(ttasksptr &ttask, const Phrase &targetPhrase, const PhraseDictionary *pt);
|
||||
const ttasksptr GetTtask() const;
|
||||
ttasksptr GetTtask() const;
|
||||
bool HasTtaskSPtr() const;
|
||||
|
||||
~TargetPhrase();
|
||||
|
Loading…
Reference in New Issue
Block a user