diff options
| author | liamwhite <liamwhite@users.noreply.github.com> | 2023-05-09 09:47:36 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-09 09:47:36 -0400 |
| commit | 7944f271dcbd8217ea0a9e556b75edbe7a23eaff (patch) | |
| tree | 7e2159b9fc6043e8318d14d0eb8da803d4019d6a /src/core/file_sys/vfs_vector.h | |
| parent | 5890b96ce5d17e3702805ebfc1601a45295c94d0 (diff) | |
| parent | d100de27ee77fc98e1f3fa3dc6d2db0999da0a1a (diff) | |
Merge pull request #10183 from liamwhite/mods
vfs_vector: avoid n^2 lookup in layeredfs building
Diffstat (limited to 'src/core/file_sys/vfs_vector.h')
| -rw-r--r-- | src/core/file_sys/vfs_vector.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/file_sys/vfs_vector.h b/src/core/file_sys/vfs_vector.h index bfedb6e42..c9955755b 100644 --- a/src/core/file_sys/vfs_vector.h +++ b/src/core/file_sys/vfs_vector.h @@ -105,6 +105,7 @@ public: VirtualDir parent = nullptr); ~VectorVfsDirectory() override; + VirtualFile GetFile(std::string_view file_name) const override; std::vector<VirtualFile> GetFiles() const override; std::vector<VirtualDir> GetSubdirectories() const override; bool IsWritable() const override; @@ -126,6 +127,9 @@ private: VirtualDir parent; std::string name; + + mutable std::map<std::string, size_t, std::less<>> optimized_file_index; + mutable bool optimized_file_index_built{}; }; } // namespace FileSys |
