commit 7ca2f2b58d6c85e1383b3f4aba16f8a8c95fd325
Author: Yuriy Skalko <yuriy.ska...@gmail.com>
Date:   Thu Nov 19 14:03:26 2020 +0200

    Use range-based loops
---
 src/KeyMap.cpp                        |    6 +---
 src/LyXAction.cpp                     |    4 +-
 src/LyXAction.h                       |    4 +-
 src/frontends/qt/GuiCommandBuffer.cpp |   31 +++++++++----------------
 src/frontends/qt/qt_helpers.cpp       |    1 -
 src/insets/ExternalSupport.cpp        |    1 -
 src/insets/InsetInclude.cpp           |    1 -
 src/insets/InsetInfo.cpp              |    6 +---
 src/insets/InsetLabel.cpp             |    1 -
 src/mathed/MathData.cpp               |    1 -
 src/output_latex.cpp                  |    1 -
 src/support/lyxalgo.h                 |   41 ---------------------------------
 12 files changed, 19 insertions(+), 79 deletions(-)

diff --git a/src/KeyMap.cpp b/src/KeyMap.cpp
index 3698ddb..f469da5 100644
--- a/src/KeyMap.cpp
+++ b/src/KeyMap.cpp
@@ -531,10 +531,8 @@ KeyMap::BindingList KeyMap::listBindings(bool unbound, 
KeyMap::ItemType tag) con
        BindingList list;
        listBindings(list, KeySequence(nullptr, nullptr), tag);
        if (unbound) {
-               LyXAction::const_iterator fit = lyxaction.func_begin();
-               LyXAction::const_iterator const fen = lyxaction.func_end();
-               for (; fit != fen; ++fit) {
-                       FuncCode action = fit->second;
+               for (auto const & name_code : lyxaction) {
+                       FuncCode action = name_code.second;
                        bool has_action = false;
                        BindingList::const_iterator bit = list.begin();
                        BindingList::const_iterator const ben = list.end();
diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp
index 8b13630..e1d78a0 100644
--- a/src/LyXAction.cpp
+++ b/src/LyXAction.cpp
@@ -4536,13 +4536,13 @@ bool LyXAction::funcHasFlag(FuncCode action,
 }
 
 
-LyXAction::const_iterator LyXAction::func_begin() const
+LyXAction::const_iterator LyXAction::begin() const
 {
        return lyx_func_map.begin();
 }
 
 
-LyXAction::const_iterator LyXAction::func_end() const
+LyXAction::const_iterator LyXAction::end() const
 {
        return lyx_func_map.end();
 }
diff --git a/src/LyXAction.h b/src/LyXAction.h
index 30aeac0..000b0fb 100644
--- a/src/LyXAction.h
+++ b/src/LyXAction.h
@@ -94,10 +94,10 @@ public:
        typedef FuncMap::const_iterator const_iterator;
 
        /// return an iterator to the start of the list of LFUNs
-       const_iterator func_begin() const;
+       const_iterator begin() const;
 
        /// return an iterator to one past the end of the list of LFUNs
-       const_iterator func_end() const;
+       const_iterator end() const;
 
 private:
        /// noncopyable
diff --git a/src/frontends/qt/GuiCommandBuffer.cpp 
b/src/frontends/qt/GuiCommandBuffer.cpp
index 06ca59c..d633428 100644
--- a/src/frontends/qt/GuiCommandBuffer.cpp
+++ b/src/frontends/qt/GuiCommandBuffer.cpp
@@ -26,7 +26,6 @@
 #include "FuncRequest.h"
 #include "Session.h"
 
-#include "support/lyxalgo.h"
 #include "support/lstrings.h"
 
 #include <QHBoxLayout>
@@ -85,8 +84,9 @@ protected:
 GuiCommandBuffer::GuiCommandBuffer(GuiView * view)
        : view_(view)
 {
-       transform(lyxaction.func_begin(), lyxaction.func_end(),
-               back_inserter(commands_), firster());
+       for (auto const & name_code : lyxaction) {
+               commands_.push_back(name_code.first);
+       }
 
        QPixmap qpup = getPixmap("images/", "up", "svgz,png");
        QPixmap qpdown = getPixmap("images/", "down", "svgz,png");
@@ -263,18 +263,6 @@ void GuiCommandBuffer::hideParent()
 }
 
 
-namespace {
-
-class prefix_p {
-public:
-       string p;
-       prefix_p(string const & s) : p(s) {}
-       bool operator()(string const & s) const { return prefixIs(s, p); }
-};
-
-} // namespace
-
-
 string const GuiCommandBuffer::historyUp()
 {
        if (history_pos_ == history_.begin())
@@ -299,9 +287,10 @@ vector<string> const
 GuiCommandBuffer::completions(string const & prefix, string & new_prefix)
 {
        vector<string> comp;
-
-       lyx::copy_if(commands_.begin(), commands_.end(),
-               back_inserter(comp), prefix_p(prefix));
+       for (auto const & cmd : commands_) {
+               if (prefixIs(cmd, prefix))
+                       comp.push_back(cmd);
+       }
 
        if (comp.empty()) {
                new_prefix = prefix;
@@ -320,8 +309,10 @@ GuiCommandBuffer::completions(string const & prefix, 
string & new_prefix)
                test += tmp[test.length()];
        while (test.length() < tmp.length()) {
                vector<string> vtmp;
-               lyx::copy_if(comp.begin(), comp.end(),
-                       back_inserter(vtmp), prefix_p(test));
+               for (auto const & cmd : comp) {
+                       if (prefixIs(cmd, test))
+                               vtmp.push_back(cmd);
+               }
                if (vtmp.size() != comp.size()) {
                        test.erase(test.length() - 1);
                        break;
diff --git a/src/frontends/qt/qt_helpers.cpp b/src/frontends/qt/qt_helpers.cpp
index dcac28f..108d613 100644
--- a/src/frontends/qt/qt_helpers.cpp
+++ b/src/frontends/qt/qt_helpers.cpp
@@ -33,7 +33,6 @@
 #include "support/gettext.h"
 #include "support/Length.h"
 #include "support/lstrings.h"
-#include "support/lyxalgo.h"
 #include "support/os.h"
 #include "support/Package.h"
 #include "support/PathChanger.h"
diff --git a/src/insets/ExternalSupport.cpp b/src/insets/ExternalSupport.cpp
index 3d7936a..24a228c 100644
--- a/src/insets/ExternalSupport.cpp
+++ b/src/insets/ExternalSupport.cpp
@@ -30,7 +30,6 @@
 #include "support/filetools.h"
 #include "support/gettext.h"
 #include "support/lstrings.h"
-#include "support/lyxalgo.h"
 #include "support/os.h"
 #include "support/Package.h"
 
diff --git a/src/insets/InsetInclude.cpp b/src/insets/InsetInclude.cpp
index 75a41c3..07f5eec 100644
--- a/src/insets/InsetInclude.cpp
+++ b/src/insets/InsetInclude.cpp
@@ -61,7 +61,6 @@
 #include "support/gettext.h"
 #include "support/lassert.h"
 #include "support/lstrings.h" // contains
-#include "support/lyxalgo.h"
 #include "support/mutex.h"
 #include "support/ExceptionMessage.h"
 
diff --git a/src/insets/InsetInfo.cpp b/src/insets/InsetInfo.cpp
index 981fa53..2c72d90 100644
--- a/src/insets/InsetInfo.cpp
+++ b/src/insets/InsetInfo.cpp
@@ -233,10 +233,8 @@ vector<pair<string,docstring>> 
InsetInfoParams::getArguments(Buffer const * buf,
        case MENU_INFO:
        case ICON_INFO: {
                result.push_back(make_pair("custom", _("Custom")));
-               LyXAction::const_iterator fit = lyxaction.func_begin();
-               LyXAction::const_iterator const fen = lyxaction.func_end();
-               for (; fit != fen; ++fit) {
-                       string const lfun = fit->first;
+               for (auto const & name_code : lyxaction) {
+                       string const lfun = name_code.first;
                        if (!lfun.empty())
                                result.push_back(make_pair(lfun, 
from_ascii(lfun)));
                }
diff --git a/src/insets/InsetLabel.cpp b/src/insets/InsetLabel.cpp
index b624cce..73bc21f 100644
--- a/src/insets/InsetLabel.cpp
+++ b/src/insets/InsetLabel.cpp
@@ -41,7 +41,6 @@
 #include "support/convert.h"
 #include "support/gettext.h"
 #include "support/lstrings.h"
-#include "support/lyxalgo.h"
 
 using namespace std;
 using namespace lyx::support;
diff --git a/src/mathed/MathData.cpp b/src/mathed/MathData.cpp
index 5372430..50fc100 100644
--- a/src/mathed/MathData.cpp
+++ b/src/mathed/MathData.cpp
@@ -37,7 +37,6 @@
 #include "support/docstream.h"
 #include "support/gettext.h"
 #include "support/lassert.h"
-#include "support/lyxalgo.h"
 
 #include <cstdlib>
 
diff --git a/src/output_latex.cpp b/src/output_latex.cpp
index 1178a3b..8f8459f 100644
--- a/src/output_latex.cpp
+++ b/src/output_latex.cpp
@@ -35,7 +35,6 @@
 #include "support/convert.h"
 #include "support/debug.h"
 #include "support/lstrings.h"
-#include "support/lyxalgo.h"
 #include "support/textutils.h"
 #include "support/gettext.h"
 
diff --git a/src/support/lyxalgo.h b/src/support/lyxalgo.h
index 8bf8bbc..8777a03 100644
--- a/src/support/lyxalgo.h
+++ b/src/support/lyxalgo.h
@@ -14,11 +14,6 @@
 #ifndef LYX_ALGO_H
 #define LYX_ALGO_H
 
-#include <utility>
-#include <iterator>
-#include <algorithm>
-
-
 namespace lyx {
 
 
@@ -48,42 +43,6 @@ bool sorted(For first, For last, Cmp cmp)
 }
 
 
-struct firster {
-       template <class P1, class P2>
-       P1 operator()(std::pair<P1, P2> const & p) {
-               return p.first;
-       }
-};
-
-
-/**
- * copy elements in the given range to the output iterator
- * if the predicate evaluates as true
- */
-template <class InputIter, class OutputIter, class Func>
-OutputIter copy_if(InputIter first, InputIter last,
-              OutputIter result, Func func)
-{
-       for (; first != last; ++first) {
-               if (func(*first)) {
-                       *result++ = *first;
-               }
-       }
-       return result;
-}
-
-
-/// Remove all duplicate entries in c.
-template<class C>
-void eliminate_duplicates(C & c)
-{
-       // It is a requirement that the container is sorted for
-       // std::unique to work properly.
-       std::sort(c.begin(), c.end());
-       c.erase(std::unique(c.begin(), c.end()), c.end());
-}
-
-
 } // namespace lyx
 
 #endif // LYX_ALGO_H
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to