diff options
author | Ivan Komissarov <ABBAPOH@gmail.com> | 2020-08-26 18:10:56 +0200 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2020-08-27 10:33:44 +0000 |
commit | 1962e1d102c78c85344f717eeb0d751f4d4b09c9 (patch) | |
tree | ca3987d540b09a30cf7ff9b0c1bf101bd5be40f7 /src/lib/corelib | |
parent | a2d0b35c7c8bb7f36d2de43ff2e31485a4a46e69 (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.cpp | 9 | ||||
-rw-r--r-- | src/lib/corelib/tools/filesaver.h | 3 |
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; |