void swap(TargetPhrase &first, TargetPhrase &second) { first.SwapWords(second); std::swap(first.m_fullScore, second.m_fullScore); std::swap(first.m_futureScore, second.m_futureScore); swap(first.m_scoreBreakdown, second.m_scoreBreakdown); std::swap(first.m_alignTerm, second.m_alignTerm); std::swap(first.m_alignNonTerm, second.m_alignNonTerm); std::swap(first.m_lhsTarget, second.m_lhsTarget); }