From 20649ec027a6da0994819c0ce18c4862f8ff66f9 Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Sat, 23 May 2020 23:08:05 +0200 Subject: Fix issues with very slow refresh time for large root data directories. --- src/shared/directoryentry.h | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'src/shared/directoryentry.h') diff --git a/src/shared/directoryentry.h b/src/shared/directoryentry.h index a28ceeae..0ee3c919 100644 --- a/src/shared/directoryentry.h +++ b/src/shared/directoryentry.h @@ -46,10 +46,18 @@ namespace std namespace MOShared { +struct DirCompareByName +{ + bool operator()(const DirectoryEntry* a, const DirectoryEntry* b) const; +}; + + class DirectoryEntry { public: - DirectoryEntry( + using SubDirectories = std::set; + + DirectoryEntry( std::wstring name, DirectoryEntry* parent, OriginID originID); DirectoryEntry( @@ -137,15 +145,7 @@ public: std::vector getFiles() const; - void getSubDirectories( - std::vector::const_iterator& begin, - std::vector::const_iterator& end) const - { - begin = m_SubDirectories.begin(); - end = m_SubDirectories.end(); - } - - const std::vector& getSubDirectories() const + const SubDirectories& getSubDirectories() const { return m_SubDirectories; } @@ -238,7 +238,6 @@ public: private: using FilesMap = std::map; using FilesLookup = std::unordered_map; - using SubDirectories = std::vector; using SubDirectoriesLookup = std::unordered_map; boost::shared_ptr m_FileRegister; -- cgit v1.3.1