diff options
Diffstat (limited to 'moses/AlignmentInfo.cpp')
-rw-r--r-- | moses/AlignmentInfo.cpp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/moses/AlignmentInfo.cpp b/moses/AlignmentInfo.cpp index 97efc25eb..15e8b6d52 100644 --- a/moses/AlignmentInfo.cpp +++ b/moses/AlignmentInfo.cpp @@ -106,7 +106,9 @@ std::set<size_t> AlignmentInfo::GetAlignmentsForTarget(size_t targetPos) const } -bool compare_target(const std::pair<size_t,size_t> *a, const std::pair<size_t,size_t> *b) +bool +compare_target(std::pair<size_t,size_t> const* a, + std::pair<size_t,size_t> const* b) { if(a->second < b->second) return true; if(a->second == b->second) return (a->first < b->first); @@ -114,29 +116,29 @@ bool compare_target(const std::pair<size_t,size_t> *a, const std::pair<size_t,si } -std::vector< const std::pair<size_t,size_t>* > AlignmentInfo::GetSortedAlignments() const +std::vector< const std::pair<size_t,size_t>* > +AlignmentInfo:: +GetSortedAlignments(WordAlignmentSort SortOrder) const { std::vector< const std::pair<size_t,size_t>* > ret; - + CollType::const_iterator iter; for (iter = m_collection.begin(); iter != m_collection.end(); ++iter) { const std::pair<size_t,size_t> &alignPair = *iter; ret.push_back(&alignPair); } - - const StaticData &staticData = StaticData::Instance(); - WordAlignmentSort wordAlignmentSort = staticData.GetWordAlignmentSort(); - - switch (wordAlignmentSort) { + + switch (SortOrder) { case NoSort: break; - + case TargetOrder: std::sort(ret.begin(), ret.end(), compare_target); break; - + default: - UTIL_THROW(util::Exception, "Unknown alignment sort option: " << wordAlignmentSort); + UTIL_THROW(util::Exception, "Unknown word alignment sort option: " + << SortOrder); } return ret; |