diff options
author | Lioncash <mathew1800@gmail.com> | 2018-07-20 00:04:51 -0400 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2018-07-20 00:04:54 -0400 |
commit | 0e9d58e82a86dc8948aca9bbb12c647023031cbd (patch) | |
tree | f1218e442c70af8f026591f1c8967d4c3d02d664 /src | |
parent | d3cfaf95c883512691df01e90d8ab7e8873c2c3d (diff) |
vfs_offset: std::move file and name parameters of OffsetVfsFile
Avoids potentially unnecessary atomic reference count incrementing and
decrementing, as well as string copying.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/file_sys/vfs_offset.cpp | 6 | ||||
-rw-r--r-- | src/core/file_sys/vfs_offset.h | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/core/file_sys/vfs_offset.cpp b/src/core/file_sys/vfs_offset.cpp index 288499cb5..31fdd9aa1 100644 --- a/src/core/file_sys/vfs_offset.cpp +++ b/src/core/file_sys/vfs_offset.cpp @@ -2,13 +2,15 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include <utility> + #include "core/file_sys/vfs_offset.h" namespace FileSys { OffsetVfsFile::OffsetVfsFile(std::shared_ptr<VfsFile> file_, size_t size_, size_t offset_, - const std::string& name_) - : file(file_), offset(offset_), size(size_), name(name_) {} + std::string name_) + : file(std::move(file_)), offset(offset_), size(size_), name(std::move(name_)) {} std::string OffsetVfsFile::GetName() const { return name.empty() ? file->GetName() : name; diff --git a/src/core/file_sys/vfs_offset.h b/src/core/file_sys/vfs_offset.h index adc615b38..2e16e47eb 100644 --- a/src/core/file_sys/vfs_offset.h +++ b/src/core/file_sys/vfs_offset.h @@ -14,7 +14,7 @@ namespace FileSys { // the size of this wrapper. struct OffsetVfsFile : public VfsFile { OffsetVfsFile(std::shared_ptr<VfsFile> file, size_t size, size_t offset = 0, - const std::string& new_name = ""); + std::string new_name = ""); std::string GetName() const override; size_t GetSize() const override; |