commit 714113655ad434f9a73d0101038568d59311af72
Author: Jean-Marc Lasgouttes <[email protected]>
Date:   Fri Sep 13 16:23:49 2019 +0200

    Follow some of the performance advice from cppcheck
    
    Most of that is changing string to string const &.
---
 src/BiblioInfo.cpp           |    4 ++--
 src/Buffer.cpp               |    2 +-
 src/BufferParams.cpp         |    2 +-
 src/BufferParams.h           |    2 +-
 src/LaTeXFeatures.h          |    2 +-
 src/LaTeXFonts.cpp           |    4 ++--
 src/LaTeXFonts.h             |    4 ++--
 src/PersonalWordList.h       |    2 +-
 src/Text.h                   |    2 +-
 src/Text2.cpp                |    2 +-
 src/TocBackend.cpp           |    2 +-
 src/TocBackend.h             |    4 ++--
 src/Undo.cpp                 |   24 +++++++++---------------
 src/insets/InsetBibtex.cpp   |    2 +-
 src/insets/InsetBibtex.h     |    2 +-
 src/insets/InsetCitation.cpp |    2 +-
 src/insets/InsetCitation.h   |    2 +-
 src/insets/InsetQuotes.cpp   |    4 ++--
 src/insets/InsetQuotes.h     |    2 +-
 src/lyxfind.cpp              |   11 ++++++-----
 src/lyxfind.h                |    5 +----
 src/mathed/MathStream.h      |    2 +-
 src/output_xhtml.h           |    2 +-
 src/support/limited_stack.h  |    4 +---
 24 files changed, 42 insertions(+), 52 deletions(-)

diff --git a/src/BiblioInfo.cpp b/src/BiblioInfo.cpp
index c723b9a..746780a 100644
--- a/src/BiblioInfo.cpp
+++ b/src/BiblioInfo.cpp
@@ -223,7 +223,7 @@ name_parts nameParts(docstring const & iname)
 }
 
 
-docstring constructName(docstring const & name, string const scheme)
+docstring constructName(docstring const & name, string const & scheme)
 {
        // re-constructs a name from name parts according
        // to a given scheme
@@ -313,7 +313,7 @@ vector<docstring> const getAuthors(docstring const & author)
 }
 
 
-bool multipleAuthors(docstring const author)
+bool multipleAuthors(docstring const & author)
 {
        return getAuthors(author).size() > 1;
 }
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 18fc0d3..46a9d96 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -3583,7 +3583,7 @@ typename M::const_iterator greatest_below(M & m, typename 
M::key_type const & x)
        if (it == m.begin())
                return m.end();
 
-       it--;
+       --it;
        return it;
 }
 
diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp
index 17a4e67..22793ec 100644
--- a/src/BufferParams.cpp
+++ b/src/BufferParams.cpp
@@ -2935,7 +2935,7 @@ void BufferParams::readIncludeonly(Lexer & lex)
 }
 
 
-string BufferParams::paperSizeName(PapersizePurpose purpose, string const 
psize) const
+string BufferParams::paperSizeName(PapersizePurpose purpose, string const & 
psize) const
 {
        PAPER_SIZE ppsize = psize.empty() ? papersize : 
papersizetranslator().find(psize);
        switch (ppsize) {
diff --git a/src/BufferParams.h b/src/BufferParams.h
index 778da6b..3a5cd29 100644
--- a/src/BufferParams.h
+++ b/src/BufferParams.h
@@ -467,7 +467,7 @@ public:
        };
        ///
        std::string paperSizeName(PapersizePurpose purpose,
-                                 std::string const psize = std::string()) 
const;
+                                 std::string const & psize = std::string()) 
const;
        /// set up if and how babel is called
        std::string babelCall(std::string const & lang_opts, bool const 
langoptions) const;
        /// return supported drivers for specific packages
diff --git a/src/LaTeXFeatures.h b/src/LaTeXFeatures.h
index 235f4df..8ec5e68 100644
--- a/src/LaTeXFeatures.h
+++ b/src/LaTeXFeatures.h
@@ -169,7 +169,7 @@ public:
        /// set savenote environment (footnote package)
        std::string saveNoteEnv() const { return savenote_env_; }
        /// return savenote environment
-       void saveNoteEnv(std::string const s) { savenote_env_ = s; }
+       void saveNoteEnv(std::string const & s) { savenote_env_ = s; }
        /// Runparams that will be used for exporting this file.
        OutputParams const & runparams() const { return runparams_; }
        /// Resolve alternatives like "esint|amsmath|wasysym"
diff --git a/src/LaTeXFonts.cpp b/src/LaTeXFonts.cpp
index b61c4c7..b52a8c0 100644
--- a/src/LaTeXFonts.cpp
+++ b/src/LaTeXFonts.cpp
@@ -243,7 +243,7 @@ string const LaTeXFont::getAvailablePackage(bool dryrun)
 
 
 string const LaTeXFont::getPackageOptions(bool ot1, bool complete, bool sc, 
bool osf,
-                                         int scale, string const extraopts, 
bool nomath)
+                                         int scale, string const & extraopts, 
bool nomath)
 {
        ostringstream os;
        bool const needosfopt = (osf != osfdefault_);
@@ -290,7 +290,7 @@ string const LaTeXFont::getPackageOptions(bool ot1, bool 
complete, bool sc, bool
 
 
 string const LaTeXFont::getLaTeXCode(bool dryrun, bool ot1, bool complete, 
bool sc,
-                                    bool osf, bool nomath, string const 
extraopts,
+                                    bool osf, bool nomath, string const & 
extraopts,
                                     int const & scale)
 {
        ostringstream os;
diff --git a/src/LaTeXFonts.h b/src/LaTeXFonts.h
index 7f020ac..6d08cb9 100644
--- a/src/LaTeXFonts.h
+++ b/src/LaTeXFonts.h
@@ -84,7 +84,7 @@ public:
        /// Return the LaTeX Code
        std::string const getLaTeXCode(bool dryrun, bool ot1, bool complete,
                                       bool sc, bool osf, bool nomath,
-                                      std::string const extraopts = 
std::string(),
+                                      std::string const & extraopts = 
std::string(),
                                       int const & scale = 100);
        /// Return the actually used font
        docstring const getUsedFont(bool ot1, bool complete, bool nomath);
@@ -103,7 +103,7 @@ private:
                                            bool sc,
                                            bool osf,
                                            int scale,
-                                           std::string const extraopts,
+                                           std::string const & extraopts,
                                            bool nomath);
        /// Return an alternative font
        LaTeXFont altFont(docstring const & name);
diff --git a/src/PersonalWordList.h b/src/PersonalWordList.h
index d37b7d3..9473c86 100644
--- a/src/PersonalWordList.h
+++ b/src/PersonalWordList.h
@@ -24,7 +24,7 @@ namespace lyx {
 class PersonalWordList {
 public:
        /// the word list has an associated language
-       PersonalWordList(std::string lang) : lang_(lang), dirty_(false) {}
+       PersonalWordList(std::string & lang) : lang_(lang), dirty_(false) {}
        /// the location of the file to hold to word list
        lyx::support::FileName dictfile() const;
        /// (re)load the word list from file
diff --git a/src/Text.h b/src/Text.h
index dc96d83..99d83f4 100644
--- a/src/Text.h
+++ b/src/Text.h
@@ -260,7 +260,7 @@ public:
         settings are given to the new one.
         This function will handle a multi-paragraph selection.
         */
-       void setParagraphs(Cursor & cur, docstring arg, bool modify = false);
+       void setParagraphs(Cursor & cur, docstring const & arg, bool modify = 
false);
        /// Sets parameters for current or selected paragraphs
        void setParagraphs(Cursor & cur, ParagraphParameters const & p);
 
diff --git a/src/Text2.cpp b/src/Text2.cpp
index f1decc5..07839a7 100644
--- a/src/Text2.cpp
+++ b/src/Text2.cpp
@@ -483,7 +483,7 @@ void Text::setLabelWidthStringToSequence(Cursor const & cur,
 }
 
 
-void Text::setParagraphs(Cursor & cur, docstring arg, bool merge)
+void Text::setParagraphs(Cursor & cur, docstring const & arg, bool merge)
 {
        LBUFERR(cur.text());
 
diff --git a/src/TocBackend.cpp b/src/TocBackend.cpp
index 65f96ba..d401e22 100644
--- a/src/TocBackend.cpp
+++ b/src/TocBackend.cpp
@@ -43,7 +43,7 @@ namespace lyx {
 ///////////////////////////////////////////////////////////////////////////
 
 TocItem::TocItem(DocIterator const & dit, int d, docstring const & s,
-                 bool output_active, FuncRequest action)
+                 bool output_active, FuncRequest const & action)
        : dit_(dit), depth_(d), str_(s), output_(output_active),
          action_(action)
 {
diff --git a/src/TocBackend.h b/src/TocBackend.h
index 0e123ee..6ed3e8e 100644
--- a/src/TocBackend.h
+++ b/src/TocBackend.h
@@ -61,7 +61,7 @@ public:
                int depth,
                docstring const & s,
                bool output_active,
-               FuncRequest action = FuncRequest(LFUN_UNKNOWN_ACTION)
+               FuncRequest const & action = FuncRequest(LFUN_UNKNOWN_ACTION)
                );
        ///
        DocIterator const & dit() const { return dit_; }
@@ -74,7 +74,7 @@ public:
        ///
        bool isOutput() const { return output_; }
        ///
-       void setAction(FuncRequest a) { action_ = a; }
+       void setAction(FuncRequest const & a) { action_ = a; }
 
        /// custom action, or the default one (paragraph-goto) if not customised
        FuncRequest action() const;
diff --git a/src/Undo.cpp b/src/Undo.cpp
index a9e0bba..28a2e82 100644
--- a/src/Undo.cpp
+++ b/src/Undo.cpp
@@ -90,21 +90,15 @@ struct UndoElement
        {
        }
        ///
-       UndoElement(UndoElement const & ue) : time(current_time())
-       {
-               kind = ue.kind;
-               cur_before = ue.cur_before;
-               cur_after = ue.cur_after;
-               cell = ue.cell;
-               from = ue.from;
-               end = ue.end;
-               pars = ue.pars;
-               array = ue.array;
-               bparams = ue.bparams
-                       ? new BufferParams(*ue.bparams) : 0;
-               lyx_clean = ue.lyx_clean;
-               group_id = ue.group_id;
-       }
+       UndoElement(UndoElement const & ue) :
+               kind(ue.kind),
+               cur_before(ue.cur_before), cur_after(ue.cur_after),
+               cell(ue.cell), from(ue.from), end(ue.end),
+               pars(ue.pars), array(ue.array),
+               bparams(ue.bparams ? new BufferParams(*ue.bparams) : 0),
+               lyx_clean(ue.lyx_clean), group_id(ue.group_id),
+               time(current_time())
+               {}
        ///
        ~UndoElement()
        {
diff --git a/src/insets/InsetBibtex.cpp b/src/insets/InsetBibtex.cpp
index 91e1e60..5ed6ff3 100644
--- a/src/insets/InsetBibtex.cpp
+++ b/src/insets/InsetBibtex.cpp
@@ -132,7 +132,7 @@ bool InsetBibtex::getStatus(Cursor & cur, FuncRequest const 
& cmd,
 }
 
 
-void InsetBibtex::editDatabases(docstring const db) const
+void InsetBibtex::editDatabases(docstring const & db) const
 {
        vector<docstring> bibfilelist = 
getVectorFromString(getParam("bibfiles"));
 
diff --git a/src/insets/InsetBibtex.h b/src/insets/InsetBibtex.h
index e6345b8..fd447f8 100644
--- a/src/insets/InsetBibtex.h
+++ b/src/insets/InsetBibtex.h
@@ -82,7 +82,7 @@ public:
 
 private:
        ///
-       void editDatabases(docstring const db = docstring()) const;
+       void editDatabases(docstring const & db = docstring()) const;
        ///
        void parseBibTeXFiles(support::FileNameList &) const;
        ///
diff --git a/src/insets/InsetCitation.cpp b/src/insets/InsetCitation.cpp
index 564ea5b..1071d52 100644
--- a/src/insets/InsetCitation.cpp
+++ b/src/insets/InsetCitation.cpp
@@ -329,7 +329,7 @@ inline docstring wrapCitation(docstring const & key,
 } // anonymous namespace
 
 
-vector<pair<docstring, docstring>> InsetCitation::getQualifiedLists(docstring 
const p) const
+vector<pair<docstring, docstring>> InsetCitation::getQualifiedLists(docstring 
const & p) const
 {
        vector<docstring> ps =
                getVectorFromString(p, from_ascii("\t"));
diff --git a/src/insets/InsetCitation.h b/src/insets/InsetCitation.h
index d94aefe..9ac4e0b 100644
--- a/src/insets/InsetCitation.h
+++ b/src/insets/InsetCitation.h
@@ -91,7 +91,7 @@ public:
        CitationStyle getCitationStyle(BufferParams const & bp, std::string 
const & input,
                                       std::vector<CitationStyle> const & 
valid_styles) const;
        ///
-       QualifiedList getQualifiedLists(docstring const p) const;
+       QualifiedList getQualifiedLists(docstring const & p) const;
        ///
        static bool last_literal;
 
diff --git a/src/insets/InsetQuotes.cpp b/src/insets/InsetQuotes.cpp
index 515d241..fca77e5 100644
--- a/src/insets/InsetQuotes.cpp
+++ b/src/insets/InsetQuotes.cpp
@@ -588,9 +588,9 @@ docstring const InsetQuotesParams::getGuiLabel(QuoteStyle 
const & qs, bool langd
 }
 
 
-docstring const InsetQuotesParams::getShortGuiLabel(docstring const string)
+docstring const InsetQuotesParams::getShortGuiLabel(docstring const & str)
 {
-       std::string const s = to_ascii(string);
+       string const s = to_ascii(str);
        QuoteStyle const style = getQuoteStyle(s);
        QuoteSide const side = getQuoteSide(s);
        QuoteLevel const level = getQuoteLevel(s);
diff --git a/src/insets/InsetQuotes.h b/src/insets/InsetQuotes.h
index 25b4a8b..362a0e2 100644
--- a/src/insets/InsetQuotes.h
+++ b/src/insets/InsetQuotes.h
@@ -86,7 +86,7 @@ public:
        docstring const getGuiLabel(QuoteStyle const & qs,
                                    bool langdef = false);
        /// Returns a descriptive label of a given char
-       docstring const getShortGuiLabel(docstring const string);
+       docstring const getShortGuiLabel(docstring const & str);
        ///
        int stylescount() const;
        /// Returns the matching style shortcut char
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 45cbbd9..4c8386c 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -93,7 +93,7 @@ class IgnoreFormats {
        ///
        bool getLanguage() { return ignoreLanguage_; };
        ///
-       void setIgnoreFormat(string type, bool value);
+       void setIgnoreFormat(string const & type, bool value);
 
 private:
        ///
@@ -119,7 +119,7 @@ private:
 };
 
 
-void IgnoreFormats::setIgnoreFormat(string type, bool value)
+void IgnoreFormats::setIgnoreFormat(string const & type, bool value)
 {
        if (type == "color") {
                ignoreColor_ = value;
@@ -160,7 +160,7 @@ void IgnoreFormats::setIgnoreFormat(string type, bool value)
 IgnoreFormats ignoreFormats;
 
 
-void setIgnoreFormat(string type, bool value)
+void setIgnoreFormat(string const & type, bool value)
 {
   ignoreFormats.setIgnoreFormat(type, value);
 }
@@ -1478,7 +1478,8 @@ class LatexInfo {
   void removeHead(KeyInfo&, int count=0);
 
  public:
- LatexInfo(string par, bool isPatternString) : entidx_(-1), 
interval_(isPatternString, par)
+ LatexInfo(string const & par, bool isPatternString)
+        : entidx_(-1), interval_(isPatternString, par)
   {
     buildKeys(isPatternString);
     entries_ = vector<KeyInfo>();
@@ -1588,7 +1589,7 @@ class MathInfo {
   MathInfo() {
     actualIdx_ = 0;
   }
-  void insert(string wait, size_t start, size_t end) {
+  void insert(string const & wait, size_t start, size_t end) {
     MathEntry m = MathEntry();
     m.wait = wait;
     m.mathStart = start;
diff --git a/src/lyxfind.h b/src/lyxfind.h
index 984473e..bfaae8f 100644
--- a/src/lyxfind.h
+++ b/src/lyxfind.h
@@ -120,7 +120,7 @@ public:
 };
 
 /// Set the formats that should be ignored
-void setIgnoreFormat(std::string type, bool value);
+void setIgnoreFormat(std::string const & type, bool value);
 
 /// Write a FindAdvOptions instance to a stringstream
 std::ostringstream & operator<<(std::ostringstream & os, 
lyx::FindAndReplaceOptions const & opt);
@@ -143,9 +143,6 @@ docstring stringifyFromForSearch(
        DocIterator const & cur,
        int len = -1);
 
-/** Set format type to be ignore by search
- **/
-void setIgnoreFormat(std::string type, bool value);
 
 } // namespace lyx
 
diff --git a/src/mathed/MathStream.h b/src/mathed/MathStream.h
index b7e7943..7779921 100644
--- a/src/mathed/MathStream.h
+++ b/src/mathed/MathStream.h
@@ -296,7 +296,7 @@ private:
 class MTag {
 public:
        ///
-       MTag(char const * const tag, std::string attr = "")
+       MTag(char const * const tag, std::string const & attr = std::string())
                : tag_(tag), attr_(attr) {}
        ///
        char const * const tag_;
diff --git a/src/output_xhtml.h b/src/output_xhtml.h
index 3c4ad2a..a9ee0ea 100644
--- a/src/output_xhtml.h
+++ b/src/output_xhtml.h
@@ -75,7 +75,7 @@ struct StartTag
 struct EndTag
 {
        ///
-       explicit EndTag(std::string tag) : tag_(tag) {}
+       explicit EndTag(std::string const & tag) : tag_(tag) {}
        ///
        virtual ~EndTag() {}
        /// </tag_>
diff --git a/src/support/limited_stack.h b/src/support/limited_stack.h
index b17eeae..c76497c 100644
--- a/src/support/limited_stack.h
+++ b/src/support/limited_stack.h
@@ -32,9 +32,7 @@ public:
        typedef typename container_type::const_iterator const_iterator;
 
        /// limit is the maximum size of the stack
-       limited_stack(size_type limit = 100) {
-               limit_ = limit;
-       }
+       limited_stack(size_type limit = 100) : limit_(limit) {}
 
        /// Return the top element.
        value_type & top() {

Reply via email to