aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib
diff options
context:
space:
mode:
authorIvan Komissarov <ABBAPOH@gmail.com>2020-08-26 18:10:56 +0200
committerIvan Komissarov <ABBAPOH@gmail.com>2020-08-27 10:33:44 +0000
commit1962e1d102c78c85344f717eeb0d751f4d4b09c9 (patch)
treeca3987d540b09a30cf7ff9b0c1bf101bd5be40f7 /src/lib/corelib
parenta2d0b35c7c8bb7f36d2de43ff2e31485a4a46e69 (diff)
Use std::string_view in FileSaver
This allows to avoid memory allocation when converting from QByteArray to std::string/std::vector<char> Change-Id: Id46791c02e2302cc9b0b3e6c01442393c0e73fa9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/lib/corelib')
-rw-r--r--src/lib/corelib/tools/filesaver.cpp9
-rw-r--r--src/lib/corelib/tools/filesaver.h3
2 files changed, 3 insertions, 9 deletions
diff --git a/src/lib/corelib/tools/filesaver.cpp b/src/lib/corelib/tools/filesaver.cpp
index 5a0a68c1f..c4eead940 100644
--- a/src/lib/corelib/tools/filesaver.cpp
+++ b/src/lib/corelib/tools/filesaver.cpp
@@ -107,14 +107,9 @@ bool FileSaver::commit()
return true;
}
-bool FileSaver::write(const std::vector<char> &data)
+bool FileSaver::write(std::string_view data)
{
- return fwrite(data, device());
-}
-
-bool FileSaver::write(const std::string &data)
-{
- return fwrite(data, device());
+ return fwrite(data.data(), data.size(), device());
}
} // namespace Internal
diff --git a/src/lib/corelib/tools/filesaver.h b/src/lib/corelib/tools/filesaver.h
index 8b4c01669..06f11eba0 100644
--- a/src/lib/corelib/tools/filesaver.h
+++ b/src/lib/corelib/tools/filesaver.h
@@ -60,8 +60,7 @@ public:
std::ostream *device();
bool open();
bool commit();
- bool write(const std::vector<char> &data);
- bool write(const std::string &data);
+ bool write(std::string_view data);
private:
std::string m_oldFileContents;