cui/source/tabpages/autocdlg.cxx | 8 ++++---- include/o3tl/sorted_vector.hxx | 2 +- o3tl/qa/test-sorted_vector.cxx | 4 ++-- sc/source/core/data/attarray.cxx | 2 +- sw/source/core/doc/acmplwrd.cxx | 11 +++++------ sw/source/core/doc/docfld.cxx | 2 +- sw/source/core/doc/docredln.cxx | 2 +- sw/source/core/docnode/nodes.cxx | 4 ++-- 8 files changed, 17 insertions(+), 18 deletions(-)
New commits: commit 2e0b757e62536281f61b8d37987378646a246fcb Author: Jan-Marek Glogowski <glo...@fbihome.de> AuthorDate: Tue Dec 22 18:59:43 2020 +0100 Commit: Jan-Marek Glogowski <glo...@fbihome.de> CommitDate: Wed Dec 23 11:44:47 2020 +0100 Rename sorted_vector::erase(size_t) to erase_at emscripten clang fails with: sc/source/core/data/attarray.cxx:378:44: \ error: call to member function 'erase' is ambiguous aNewCondFormatData.erase(nIndex); ~~~~~~~~~~~~~~~~~~~^~~~~ include/o3tl/sorted_vector.hxx:86:15: note: candidate function size_type erase( const Value& x ) ^ include/o3tl/sorted_vector.hxx:97:10: note: candidate function void erase( size_t index ) This looks like a compiler error, but if the vector contained size_t values, this would also be ambiguous to begin with. So this just renames erase(size_t) to erase_at. And instead of a 2nd find in the failing code, after copying the vector, it mow uses std::distance to remove the item. Change-Id: I7d03ff32352a1890cc01ca241452c0f00d6a9302 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108212 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> Reviewed-by: Jan-Marek Glogowski <glo...@fbihome.de> diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx index 9b5ff2e30418..380d61123330 100644 --- a/cui/source/tabpages/autocdlg.cxx +++ b/cui/source/tabpages/autocdlg.cxx @@ -1270,7 +1270,7 @@ bool OfaAutocorrExceptPage::FillItemSet( SfxItemSet* ) if( !lcl_FindInArray(rArrays.aDoubleCapsStrings, aString)) { - pWrdList->erase(i); + pWrdList->erase_at(i); } } @@ -1292,7 +1292,7 @@ bool OfaAutocorrExceptPage::FillItemSet( SfxItemSet* ) OUString aString = (*pCplList)[ --i ]; if( !lcl_FindInArray(rArrays.aAbbrevStrings, aString)) { - pCplList->erase(i); + pCplList->erase_at(i); } } @@ -1318,7 +1318,7 @@ bool OfaAutocorrExceptPage::FillItemSet( SfxItemSet* ) OUString aString = (*pWrdList)[ --i ]; if (m_xDoubleCapsLB->find_text(aString) == -1) { - pWrdList->erase(i); + pWrdList->erase_at(i); } } nCount = m_xDoubleCapsLB->n_children(); @@ -1339,7 +1339,7 @@ bool OfaAutocorrExceptPage::FillItemSet( SfxItemSet* ) OUString aString = (*pCplList)[ --i ]; if (m_xAbbrevLB->find_text(aString) == -1) { - pCplList->erase(i); + pCplList->erase_at(i); } } sal_Int32 nAbbrevCount = m_xAbbrevLB->n_children(); diff --git a/include/o3tl/sorted_vector.hxx b/include/o3tl/sorted_vector.hxx index 508fe61cc03e..2bd8b7273a9a 100644 --- a/include/o3tl/sorted_vector.hxx +++ b/include/o3tl/sorted_vector.hxx @@ -94,7 +94,7 @@ public: return 0; } - void erase( size_t index ) + void erase_at(size_t index) { m_vector.erase(m_vector.begin() + index); } diff --git a/o3tl/qa/test-sorted_vector.cxx b/o3tl/qa/test-sorted_vector.cxx index 8b335040ee84..c7fdb0c0455d 100644 --- a/o3tl/qa/test-sorted_vector.cxx +++ b/o3tl/qa/test-sorted_vector.cxx @@ -98,7 +98,7 @@ public: CPPUNIT_ASSERT_EQUAL( static_cast<size_t>(1), aVec.erase(p1) ); CPPUNIT_ASSERT_EQUAL( static_cast<size_t>(2), aVec.size() ); - aVec.erase(1); + aVec.erase_at(1); CPPUNIT_ASSERT_EQUAL( static_cast<size_t>(1), aVec.size() ); CPPUNIT_ASSERT_EQUAL( static_cast<size_t>(0), aVec.erase(p4.get()) ); @@ -222,7 +222,7 @@ public: CPPUNIT_ASSERT_EQUAL( static_cast<size_t>(1), aVec.erase(p1.get()) ); CPPUNIT_ASSERT_EQUAL( static_cast<size_t>(2), aVec.size() ); - aVec.erase(1); + aVec.erase_at(1); CPPUNIT_ASSERT_EQUAL( static_cast<size_t>(1), aVec.size() ); CPPUNIT_ASSERT_EQUAL( static_cast<size_t>(0), aVec.erase(p4.get()) ); diff --git a/sc/source/core/data/attarray.cxx b/sc/source/core/data/attarray.cxx index c9fd30332c83..a44f00243ce4 100644 --- a/sc/source/core/data/attarray.cxx +++ b/sc/source/core/data/attarray.cxx @@ -375,7 +375,7 @@ void ScAttrArray::RemoveCondFormat( SCROW nStartRow, SCROW nEndRow, sal_uInt32 n if(itr != rCondFormatData.end()) { ScCondFormatIndexes aNewCondFormatData(rCondFormatData); - aNewCondFormatData.erase(nIndex); + aNewCondFormatData.erase_at(std::distance(rCondFormatData.begin(), itr)); ScCondFormatItem aItem( std::move(aNewCondFormatData) ); pPatternAttr->GetItemSet().Put( aItem ); SetPatternArea( nTempStartRow, nTempEndRow, std::move(pPatternAttr), true ); diff --git a/sw/source/core/doc/acmplwrd.cxx b/sw/source/core/doc/acmplwrd.cxx index 3aa05a5f579a..08f796270a3e 100644 --- a/sw/source/core/doc/acmplwrd.cxx +++ b/sw/source/core/doc/acmplwrd.cxx @@ -291,11 +291,10 @@ void SwAutoCompleteWord::SetMaxCount( SwAutoCompleteStringPtrDeque::size_type nLRUIndex = nNewMax-1; while (nNewMax < m_WordList.size() && nLRUIndex < m_aLRUList.size()) { - editeng::SortedAutoCompleteStrings::const_iterator it = - m_WordList.find(m_aLRUList[ nLRUIndex++ ]); + auto it = m_WordList.find(m_aLRUList[nLRUIndex++]); OSL_ENSURE( m_WordList.end() != it, "String not found" ); editeng::IAutoCompleteString *const pDel = *it; - m_WordList.erase(it - m_WordList.begin()); + m_WordList.erase(it); delete pDel; } m_aLRUList.erase( m_aLRUList.begin() + nNewMax - 1, m_aLRUList.end() ); @@ -313,7 +312,7 @@ void SwAutoCompleteWord::SetMinWordLen( sal_uInt16 n ) { SwAutoCompleteString *const pDel = dynamic_cast<SwAutoCompleteString*>(m_WordList[nPos]); - m_WordList.erase(nPos); + m_WordList.erase_at(nPos); SwAutoCompleteStringPtrDeque::iterator it = std::find( m_aLRUList.begin(), m_aLRUList.end(), pDel ); OSL_ENSURE( m_aLRUList.end() != it, "String not found" ); @@ -351,7 +350,7 @@ void SwAutoCompleteWord::CheckChangedList( { SwAutoCompleteString *const pDel = dynamic_cast<SwAutoCompleteString*>(m_WordList[nMyPos]); - m_WordList.erase(nMyPos); + m_WordList.erase_at(nMyPos); SwAutoCompleteStringPtrDeque::iterator it = std::find( m_aLRUList.begin(), m_aLRUList.end(), pDel ); OSL_ENSURE( m_aLRUList.end() != it, "String not found" ); m_aLRUList.erase( it ); @@ -390,7 +389,7 @@ void SwAutoCompleteWord::DocumentDying(const SwDoc& rDoc) SwAutoCompleteString *const pCurrent = dynamic_cast<SwAutoCompleteString*>(m_WordList[nPos - 1]); if(pCurrent && pCurrent->RemoveDocument(rDoc) && bDelete) { - m_WordList.erase(nPos - 1); + m_WordList.erase_at(nPos - 1); SwAutoCompleteStringPtrDeque::iterator it = std::find( m_aLRUList.begin(), m_aLRUList.end(), pCurrent ); OSL_ENSURE( m_aLRUList.end() != it, "word not found in LRU list" ); m_aLRUList.erase( it ); diff --git a/sw/source/core/doc/docfld.cxx b/sw/source/core/doc/docfld.cxx index 68b6df983e4a..eecfc42fc1ab 100644 --- a/sw/source/core/doc/docfld.cxx +++ b/sw/source/core/doc/docfld.cxx @@ -784,7 +784,7 @@ void SwDocUpdateField::InsDelFieldInFieldLst( bool bIns, const SwTextField& rFie { if (&rField == (*m_pFieldSortList)[n]->GetPointer()) { - m_pFieldSortList->erase(n); + m_pFieldSortList->erase_at(n); n--; // one field can occur multiple times } } diff --git a/sw/source/core/doc/docredln.cxx b/sw/source/core/doc/docredln.cxx index 354aa058d9ed..207ed07dd95c 100644 --- a/sw/source/core/doc/docredln.cxx +++ b/sw/source/core/doc/docredln.cxx @@ -635,7 +635,7 @@ void SwRedlineTable::DeleteAndDestroyAll() while (!maVector.empty()) { auto const pRedline = maVector.back(); - maVector.erase(maVector.size() - 1); + maVector.erase_at(maVector.size() - 1); LOKRedlineNotification(RedlineNotification::Remove, pRedline); delete pRedline; } diff --git a/sw/source/core/docnode/nodes.cxx b/sw/source/core/docnode/nodes.cxx index a7a2078b2091..7a1d2bd07491 100644 --- a/sw/source/core/docnode/nodes.cxx +++ b/sw/source/core/docnode/nodes.cxx @@ -1131,7 +1131,7 @@ void SwNodes::Delete(const SwNodeIndex &rIndex, sal_uLong nNodes) m_pOutlineNodes->Seek_Entry( pNd, &nIdxPos )) { // remove outline indices - m_pOutlineNodes->erase(nIdxPos); + m_pOutlineNodes->erase_at(nIdxPos); bUpdateOutline = true; } pTextNode->InvalidateNumRule(); @@ -1359,7 +1359,7 @@ void SwNodes::DelNodes( const SwNodeIndex & rStart, sal_uLong nCnt ) SwOutlineNodes::size_type nIdxPos; if( m_pOutlineNodes->Seek_Entry( pNd, &nIdxPos )) { - m_pOutlineNodes->erase(nIdxPos); + m_pOutlineNodes->erase_at(nIdxPos); bUpdateNum = 1; } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits