include/o3tl/vector_utils.hxx | 27 +++++++++++++++++++++++++++ sw/source/core/access/AccessibilityCheck.cxx | 11 ++--------- 2 files changed, 29 insertions(+), 9 deletions(-)
New commits: commit af29884072817481273c03373899624933fd567a Author: Tomaž Vajngerl <[email protected]> AuthorDate: Sun Jan 26 09:38:40 2020 +0100 Commit: Tomaž Vajngerl <[email protected]> CommitDate: Sun Jan 26 13:53:21 2020 +0100 move "remove duplicates" for a vector to o3tl/vector_utils.hxx Change-Id: I9ecf95a2bf975912b7029cdfb459a9ebc159c75d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87429 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <[email protected]> diff --git a/include/o3tl/vector_utils.hxx b/include/o3tl/vector_utils.hxx new file mode 100644 index 000000000000..dc6d80a9ffbc --- /dev/null +++ b/include/o3tl/vector_utils.hxx @@ -0,0 +1,27 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + */ + +#pragma once + +#include <vector> + +namespace o3tl +{ +// removes duplicated elements in a vector +template <typename T> void remove_duplicates(std::vector<T>& rVector) +{ + std::unordered_set<T> aSet; + auto aEnd = std::copy_if(rVector.begin(), rVector.end(), rVector.begin(), + [&aSet](T const& rElement) { return aSet.insert(rElement).second; }); + rVector.erase(aEnd, rVector.end()); +} +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/core/access/AccessibilityCheck.cxx b/sw/source/core/access/AccessibilityCheck.cxx index 0d8c1eee4aab..bf1660d073c1 100644 --- a/sw/source/core/access/AccessibilityCheck.cxx +++ b/sw/source/core/access/AccessibilityCheck.cxx @@ -30,6 +30,7 @@ #include <ftnidx.hxx> #include <txtftn.hxx> #include <svl/itemiter.hxx> +#include <o3tl/vector_utils.hxx> namespace sw { @@ -45,14 +46,6 @@ lclAddIssue(sfx::AccessibilityIssueCollection& rIssueCollection, OUString const& return pIssue; } -template <typename T> void removeDuplicates(std::vector<T>& aVector) -{ - std::unordered_set<T> aSet; - auto end = std::copy_if(aVector.begin(), aVector.end(), aVector.begin(), - [&aSet](T const& rElement) { return aSet.insert(rElement).second; }); - aVector.erase(end, aVector.end()); -} - class BaseCheck { protected: @@ -518,7 +511,7 @@ public: } if (!aFormattings.empty()) { - removeDuplicates(aFormattings); + o3tl::remove_duplicates(aFormattings); auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_TEXT_FORMATTING_CONVEYS_MEANING), sfx::AccessibilityIssueID::TEXT_FORMATTING); _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
