Phrase Phrase::GetSubString(const WordsRange &wordsRange) const { Phrase retPhrase(wordsRange.GetNumWordsCovered()); for (size_t currPos = wordsRange.GetStartPos() ; currPos <= wordsRange.GetEndPos() ; currPos++) { Word &word = retPhrase.AddWord(); word = GetWord(currPos); } return retPhrase; }
std::string Phrase::GetStringRep(const vector<FactorType> factorsToPrint) const { Phrase retPhrase(m_direction); stringstream strme; for (size_t pos = 0 ; pos < GetSize() ; pos++) { strme << GetWord(pos).GetString(factorsToPrint, (pos != GetSize()-1)); } return strme.str(); }
Phrase Phrase::GetSubString(const WordsRange &wordsRange, FactorType factorType) const { Phrase retPhrase(wordsRange.GetNumWordsCovered()); for (size_t currPos = wordsRange.GetStartPos() ; currPos <= wordsRange.GetEndPos() ; currPos++) { const Factor* f = GetFactor(currPos, factorType); Word &word = retPhrase.AddWord(); word.SetFactor(factorType, f); } return retPhrase; }