From 379c41d20c1cb25bfa599efc0ea89ae47d197173 Mon Sep 17 00:00:00 2001 From: Gianluca Recchia Date: Sun, 28 Oct 2018 16:13:58 +0100 Subject: [PATCH] Reduce unnecessary copies using move semantics --- src/autotype/WildcardMatcher.cpp | 5 +++-- src/autotype/WildcardMatcher.h | 2 +- src/core/AutoTypeMatch.cpp | 4 +++- src/core/Database.cpp | 3 ++- src/core/Entry.cpp | 3 ++- src/format/KdbxXmlReader.cpp | 5 +++-- src/format/KdbxXmlReader.h | 2 +- src/format/KeePass2Reader.cpp | 3 ++- src/gui/csvImport/CsvParserModel.cpp | 4 +++- src/streams/HmacBlockStream.cpp | 6 ++++-- 10 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src/autotype/WildcardMatcher.cpp b/src/autotype/WildcardMatcher.cpp index bac78589..6afd10ce 100644 --- a/src/autotype/WildcardMatcher.cpp +++ b/src/autotype/WildcardMatcher.cpp @@ -18,12 +18,13 @@ #include "WildcardMatcher.h" #include +#include const QChar WildcardMatcher::Wildcard = '*'; const Qt::CaseSensitivity WildcardMatcher::Sensitivity = Qt::CaseInsensitive; -WildcardMatcher::WildcardMatcher(const QString& text) - : m_text(text) +WildcardMatcher::WildcardMatcher(QString text) + : m_text(std::move(text)) { } diff --git a/src/autotype/WildcardMatcher.h b/src/autotype/WildcardMatcher.h index 6ef48743..5be6f5e4 100644 --- a/src/autotype/WildcardMatcher.h +++ b/src/autotype/WildcardMatcher.h @@ -23,7 +23,7 @@ class WildcardMatcher { public: - explicit WildcardMatcher(const QString& text); + explicit WildcardMatcher(QString text); bool match(const QString& pattern); static const QChar Wildcard; diff --git a/src/core/AutoTypeMatch.cpp b/src/core/AutoTypeMatch.cpp index 9b7940f4..13b037bb 100644 --- a/src/core/AutoTypeMatch.cpp +++ b/src/core/AutoTypeMatch.cpp @@ -18,6 +18,8 @@ #include "AutoTypeMatch.h" +#include + AutoTypeMatch::AutoTypeMatch() : entry(nullptr) , sequence() @@ -26,7 +28,7 @@ AutoTypeMatch::AutoTypeMatch() AutoTypeMatch::AutoTypeMatch(Entry* entry, QString sequence) : entry(entry) - , sequence(sequence) + , sequence(std::move(sequence)) { } diff --git a/src/core/Database.cpp b/src/core/Database.cpp index 693b9c54..fe9ef600 100644 --- a/src/core/Database.cpp +++ b/src/core/Database.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include "cli/Utils.h" #include "core/Clock.h" @@ -492,7 +493,7 @@ Database* Database::openDatabaseFile(const QString& fileName, QSharedPointer #include #include +#include const int Entry::DefaultIconNumber = 0; const int Entry::ResolveMaximumDepth = 10; @@ -367,7 +368,7 @@ QString Entry::totp() const void Entry::setTotp(QSharedPointer settings) { beginUpdate(); - m_data.totpSettings = settings; + m_data.totpSettings = std::move(settings); auto text = Totp::writeSettings(m_data.totpSettings, title(), username()); if (m_attributes->hasKey(Totp::ATTRIBUTE_OTP)) { diff --git a/src/format/KdbxXmlReader.cpp b/src/format/KdbxXmlReader.cpp index c9e5c31a..ec556dd8 100644 --- a/src/format/KdbxXmlReader.cpp +++ b/src/format/KdbxXmlReader.cpp @@ -28,6 +28,7 @@ #include #include +#include #define UUID_LENGTH 16 @@ -43,9 +44,9 @@ KdbxXmlReader::KdbxXmlReader(quint32 version) * @param version KDBX version * @param binaryPool binary pool */ -KdbxXmlReader::KdbxXmlReader(quint32 version, const QHash& binaryPool) +KdbxXmlReader::KdbxXmlReader(quint32 version, QHash binaryPool) : m_kdbxVersion(version) - , m_binaryPool(binaryPool) + , m_binaryPool(std::move(binaryPool)) { } diff --git a/src/format/KdbxXmlReader.h b/src/format/KdbxXmlReader.h index 566fbfc7..4ab82cc0 100644 --- a/src/format/KdbxXmlReader.h +++ b/src/format/KdbxXmlReader.h @@ -42,7 +42,7 @@ class KdbxXmlReader public: explicit KdbxXmlReader(quint32 version); - explicit KdbxXmlReader(quint32 version, const QHash& binaryPool); + explicit KdbxXmlReader(quint32 version, QHash binaryPool); virtual ~KdbxXmlReader() = default; virtual Database* readDatabase(const QString& filename); diff --git a/src/format/KeePass2Reader.cpp b/src/format/KeePass2Reader.cpp index 8cdb8ff4..f727f274 100644 --- a/src/format/KeePass2Reader.cpp +++ b/src/format/KeePass2Reader.cpp @@ -21,6 +21,7 @@ #include "format/KeePass1.h" #include +#include /** * Read database from file and detect correct file format. @@ -37,7 +38,7 @@ Database* KeePass2Reader::readDatabase(const QString& filename, QSharedPointer db(readDatabase(&file, key)); + QScopedPointer db(readDatabase(&file, std::move(key))); if (file.error() != QFile::NoError) { raiseError(file.errorString()); diff --git a/src/gui/csvImport/CsvParserModel.cpp b/src/gui/csvImport/CsvParserModel.cpp index 8f7d98ec..269fbdd6 100644 --- a/src/gui/csvImport/CsvParserModel.cpp +++ b/src/gui/csvImport/CsvParserModel.cpp @@ -18,6 +18,8 @@ #include "CsvParserModel.h" +#include + CsvParserModel::CsvParserModel(QObject* parent) : QAbstractTableModel(parent) , m_skipped(0) @@ -92,7 +94,7 @@ void CsvParserModel::setSkippedRows(int skipped) void CsvParserModel::setHeaderLabels(QStringList l) { - m_columnHeader = l; + m_columnHeader = std::move(l); } int CsvParserModel::rowCount(const QModelIndex& parent) const diff --git a/src/streams/HmacBlockStream.cpp b/src/streams/HmacBlockStream.cpp index 01d9ba7c..30c7bac5 100644 --- a/src/streams/HmacBlockStream.cpp +++ b/src/streams/HmacBlockStream.cpp @@ -17,6 +17,8 @@ #include "HmacBlockStream.h" +#include + #include "core/Endian.h" #include "crypto/CryptoHash.h" @@ -25,7 +27,7 @@ const QSysInfo::Endian HmacBlockStream::ByteOrder = QSysInfo::LittleEndian; HmacBlockStream::HmacBlockStream(QIODevice* baseDevice, QByteArray key) : LayeredStream(baseDevice) , m_blockSize(1024 * 1024) - , m_key(key) + , m_key(std::move(key)) { init(); } @@ -33,7 +35,7 @@ HmacBlockStream::HmacBlockStream(QIODevice* baseDevice, QByteArray key) HmacBlockStream::HmacBlockStream(QIODevice* baseDevice, QByteArray key, qint32 blockSize) : LayeredStream(baseDevice) , m_blockSize(blockSize) - , m_key(key) + , m_key(std::move(key)) { init(); }