diff options
| author | 2018-08-02 11:36:01 -0400 | |
|---|---|---|
| committer | 2018-08-02 11:37:39 -0400 | |
| commit | cec9e9b811b18810ceabaddc4a20d575993e046b (patch) | |
| tree | 14bb332db66bf843a2e6bb0c4aaa8fe2ae25eeab /src/core/file_sys | |
| parent | Merge pull request #896 from lioncash/audio-out (diff) | |
| download | yuzu-cec9e9b811b18810ceabaddc4a20d575993e046b.tar.gz yuzu-cec9e9b811b18810ceabaddc4a20d575993e046b.tar.xz yuzu-cec9e9b811b18810ceabaddc4a20d575993e046b.zip | |
vfs_vector: Avoid unnecessary copies where applicable
The lambda elements should be taken by const reference here, and we can
move the virtual directory passed to ReplaceFileWithSubdirectory()
Diffstat (limited to 'src/core/file_sys')
| -rw-r--r-- | src/core/file_sys/vfs_vector.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/file_sys/vfs_vector.cpp b/src/core/file_sys/vfs_vector.cpp index 4c6337e3a..e3f5026a8 100644 --- a/src/core/file_sys/vfs_vector.cpp +++ b/src/core/file_sys/vfs_vector.cpp | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | // Refer to the license.txt file included. | 3 | // Refer to the license.txt file included. |
| 4 | 4 | ||
| 5 | #include <algorithm> | 5 | #include <algorithm> |
| 6 | #include <utility> | ||
| 6 | #include "core/file_sys/vfs_vector.h" | 7 | #include "core/file_sys/vfs_vector.h" |
| 7 | 8 | ||
| 8 | namespace FileSys { | 9 | namespace FileSys { |
| @@ -31,13 +32,15 @@ bool VectorVfsDirectory::IsReadable() const { | |||
| 31 | std::string VectorVfsDirectory::GetName() const { | 32 | std::string VectorVfsDirectory::GetName() const { |
| 32 | return name; | 33 | return name; |
| 33 | } | 34 | } |
| 35 | |||
| 34 | std::shared_ptr<VfsDirectory> VectorVfsDirectory::GetParentDirectory() const { | 36 | std::shared_ptr<VfsDirectory> VectorVfsDirectory::GetParentDirectory() const { |
| 35 | return parent; | 37 | return parent; |
| 36 | } | 38 | } |
| 37 | 39 | ||
| 38 | template <typename T> | 40 | template <typename T> |
| 39 | static bool FindAndRemoveVectorElement(std::vector<T>& vec, std::string_view name) { | 41 | static bool FindAndRemoveVectorElement(std::vector<T>& vec, std::string_view name) { |
| 40 | auto iter = std::find_if(vec.begin(), vec.end(), [name](T e) { return e->GetName() == name; }); | 42 | auto iter = |
| 43 | std::find_if(vec.begin(), vec.end(), [name](const T& e) { return e->GetName() == name; }); | ||
| 41 | if (iter == vec.end()) | 44 | if (iter == vec.end()) |
| 42 | return false; | 45 | return false; |
| 43 | auto old_size = vec.size(); | 46 | auto old_size = vec.size(); |
| @@ -77,7 +80,7 @@ void VectorVfsDirectory::AddDirectory(VirtualDir dir) { | |||
| 77 | bool VectorVfsDirectory::ReplaceFileWithSubdirectory(VirtualFile file, VirtualDir dir) { | 80 | bool VectorVfsDirectory::ReplaceFileWithSubdirectory(VirtualFile file, VirtualDir dir) { |
| 78 | if (!DeleteFile(file->GetName())) | 81 | if (!DeleteFile(file->GetName())) |
| 79 | return false; | 82 | return false; |
| 80 | dirs.emplace_back(dir); | 83 | dirs.emplace_back(std::move(dir)); |
| 81 | return true; | 84 | return true; |
| 82 | } | 85 | } |
| 83 | } // namespace FileSys | 86 | } // namespace FileSys |