]> git.lyx.org Git - lyx.git/commitdiff
Pass shared_ptr<> arguments by const reference
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Fri, 13 Sep 2024 12:54:43 +0000 (14:54 +0200)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Fri, 13 Sep 2024 12:54:43 +0000 (14:54 +0200)
These arguments are not expensive to copy. However, it makes sense to
pass such pointers by const reference when they are just intended for
reading.

Some reading about this issue is here:
https://www.internalpointers.com/post/move-smart-pointers-and-out-functions-modern-c

Fixes some Coverity scan defects.

src/TocBuilder.cpp
src/TocBuilder.h
src/frontends/qt/Action.cpp
src/frontends/qt/Action.h
src/frontends/qt/TocModel.cpp
src/frontends/qt/TocModel.h
src/support/FileMonitor.cpp
src/support/FileMonitor.h

index 1cfeddc4508d2a69cb620cd5dec490b255250027..fb688bd58e7ad3ae1d929b191b2f64be6357ad7a 100644 (file)
@@ -24,7 +24,7 @@ namespace lyx {
 
 
 
-TocBuilder::TocBuilder(shared_ptr<Toc> toc)
+TocBuilder::TocBuilder(shared_ptr<Toc> const & toc)
        : toc_(toc ? toc : make_shared<Toc>()),
          stack_()
 {
index 5c3407918a4d61eec983804c1991b10545547aea..eca655ca16dcfbe9e68f5bfac8d971dbfb142450 100644 (file)
@@ -27,7 +27,7 @@ class DocIterator;
 class TocBuilder
 {
 public:
-       TocBuilder(std::shared_ptr<Toc> toc);
+       TocBuilder(std::shared_ptr<Toc> const & toc);
        /// Open a level.
        /// When entering a float or flex or paragraph (with AddToToc)
        void pushItem(DocIterator const & dit, docstring const & s,
index 818aca0f07582ba27054709d627123c63e9b8fee..3d3eafa240c55152aeeaa7e0a36593b092fa69fa 100644 (file)
@@ -40,7 +40,7 @@ Action::Action(FuncRequest func, QIcon const & icon, QString const & text,
 }
 
 
-Action::Action(shared_ptr<FuncRequest const> func,
+Action::Action(shared_ptr<FuncRequest const> const & func,
                QIcon const & icon, QString const & text,
                QString const & tooltip, QObject * parent)
        : QAction(parent), func_(func), icon_(icon)
index 411eb72388ab390d2370090de4d501a7ad49e803..53398a0ec6b6b3b9a991be5770812428e01b3e10 100644 (file)
@@ -39,7 +39,7 @@ public:
 
        // Takes shared ownership of func.
        // Use for perf-sensitive code such as populating menus.
-       Action(std::shared_ptr<FuncRequest const> func,
+       Action(std::shared_ptr<FuncRequest const> const & func,
               QIcon const & icon, QString const & text,
               QString const & tooltip, QObject * parent);
 
index c0c3dce5487766937f49bc99b92f37f68b8a34d0..ab37c987cdf3eee4c2e6801adc5d363143b68e95 100644 (file)
@@ -160,7 +160,7 @@ void TocModel::updateItem(DocIterator const & dit)
 }
 
 
-void TocModel::reset(shared_ptr<Toc const> toc)
+void TocModel::reset(shared_ptr<Toc const> const & toc)
 {
        toc_ = toc;
        if (toc_->empty()) {
index ee447616d0d448ca1e6a0067b3c7846f71e1e8c0..b37484fcc6bacb96a0c9bc11d5db50a5c2a60aac 100644 (file)
@@ -39,7 +39,7 @@ public:
        ///
        TocModel(QObject * parent);
        ///
-       void reset(std::shared_ptr<Toc const>);
+       void reset(std::shared_ptr<Toc const> const &);
        ///
        void reset();
        ///
index 4a81cc2fc8d86fa5a0939fe03bcc9984637bf851..3d007ba96cf73e55e426b5df621ab1fa7d0a737a 100644 (file)
@@ -158,7 +158,7 @@ void FileMonitorGuard::notifyChange(QString const & path)
 }
 
 
-FileMonitor::FileMonitor(std::shared_ptr<FileMonitorGuard> monitor)
+FileMonitor::FileMonitor(std::shared_ptr<FileMonitorGuard> const & monitor)
        : monitor_(monitor)
 {
        connectToFileMonitorGuard();
@@ -193,7 +193,7 @@ void FileMonitor::changed(bool const exists)
 }
 
 
-ActiveFileMonitor::ActiveFileMonitor(std::shared_ptr<FileMonitorGuard> monitor,
+ActiveFileMonitor::ActiveFileMonitor(std::shared_ptr<FileMonitorGuard> const & monitor,
                                      FileName const & filename, int interval)
        : FileMonitor(monitor), filename_(filename), interval_(interval),
          timestamp_(0), checksum_(0), cooldown_(true)
index 1e43979de494e90b0c62a4d602d53e7d67f06c5e..2b34c7a90f49868f7babab3109702f6a8bb0cc27 100644 (file)
@@ -128,7 +128,7 @@ class FileMonitor : public QObject
        Q_OBJECT
 
 public:
-       FileMonitor(std::shared_ptr<FileMonitorGuard> monitor);
+       FileMonitor(std::shared_ptr<FileMonitorGuard> const & monitor);
 
        typedef signal<void(bool)> sig;
        typedef sig::slot_type slot;
@@ -166,7 +166,7 @@ class ActiveFileMonitor : public FileMonitor
 {
        Q_OBJECT
 public:
-       ActiveFileMonitor(std::shared_ptr<FileMonitorGuard> monitor,
+       ActiveFileMonitor(std::shared_ptr<FileMonitorGuard> const & monitor,
                          FileName const & filename, int interval);
        /// call checkModified asynchronously
        void checkModifiedAsync();