diff --git a/Sources/Plasma/Apps/plPageInfo/plPageInfo.cpp b/Sources/Plasma/Apps/plPageInfo/plPageInfo.cpp index 945a15d6..1ceb4e46 100644 --- a/Sources/Plasma/Apps/plPageInfo/plPageInfo.cpp +++ b/Sources/Plasma/Apps/plPageInfo/plPageInfo.cpp @@ -145,7 +145,7 @@ int main(int argc, char* argv[]) class plSoundBufferCollector : public plRegistryPageIterator, public plKeyCollector { public: - plSoundBufferCollector(hsTArray& keyArray) + plSoundBufferCollector(std::set& keyArray) : plKeyCollector(keyArray) {} bool EatPage(plRegistryPageNode* page) @@ -159,14 +159,14 @@ public: bool DumpSounds() { - hsTArray soundKeys; + std::set soundKeys; plSoundBufferCollector soundCollector(soundKeys); gResMgr->IterateAllPages(&soundCollector); - for (int i = 0; i < soundKeys.GetCount(); i++) + for (auto it = soundKeys.begin(); it != soundKeys.end(); ++it) { - plSoundBuffer* buffer = plSoundBuffer::ConvertNoRef(soundKeys[i]->VerifyLoaded()); + plSoundBuffer* buffer = plSoundBuffer::ConvertNoRef((*it)->VerifyLoaded()); if (buffer) { // Ref it... @@ -197,7 +197,7 @@ bool DumpSounds() } } - soundKeys.Reset(); + soundKeys.clear(); plIndirectUnloadIterator iter; gResMgr->IterateAllPages(&iter); diff --git a/Sources/Plasma/PubUtilLib/plResMgr/plKeyFinder.cpp b/Sources/Plasma/PubUtilLib/plResMgr/plKeyFinder.cpp index 1906bccc..4f9fae2a 100644 --- a/Sources/Plasma/PubUtilLib/plResMgr/plKeyFinder.cpp +++ b/Sources/Plasma/PubUtilLib/plResMgr/plKeyFinder.cpp @@ -162,7 +162,7 @@ public: if (pageNode->GetPageInfo().GetAge().CompareI(fAgeName) == 0) { // Try loading and searching thru this page - hsTArray keyRefs; + std::set keyRefs; IGetResMgr()->LoadPageKeys( pageNode ); plKeyCollector coll( keyRefs ); diff --git a/Sources/Plasma/PubUtilLib/plResMgr/plRegistryHelpers.cpp b/Sources/Plasma/PubUtilLib/plResMgr/plRegistryHelpers.cpp index bb5ea357..30bd172f 100644 --- a/Sources/Plasma/PubUtilLib/plResMgr/plRegistryHelpers.cpp +++ b/Sources/Plasma/PubUtilLib/plResMgr/plRegistryHelpers.cpp @@ -42,16 +42,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plRegistryHelpers.h" #include "plRegistryNode.h" -plKeyCollector::plKeyCollector( hsTArray &keys ) : fKeys( keys ) -{ -} - -bool plKeyCollector::EatKey(const plKey& key) -{ - fKeys.Append(key); - return true; -} - bool plIndirectUnloadIterator::EatPage(plRegistryPageNode* page) { page->IterateKeys(this); diff --git a/Sources/Plasma/PubUtilLib/plResMgr/plRegistryHelpers.h b/Sources/Plasma/PubUtilLib/plResMgr/plRegistryHelpers.h index 2f84c37d..8679fff8 100644 --- a/Sources/Plasma/PubUtilLib/plResMgr/plRegistryHelpers.h +++ b/Sources/Plasma/PubUtilLib/plResMgr/plRegistryHelpers.h @@ -53,8 +53,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #define _plRegistryHelpers_h #include "HeadSpin.h" -#include "hsTemplates.h" #include "pnKeyedObject/plKey.h" +#include class plKey; class plRegistryPageNode; @@ -76,16 +76,19 @@ public: }; -//// plKeyCollector ////////////////////////////////////////////////////////// -// Helper key iterator that collects the given keys into the given hsTArray +/** Helper key iterator that collects keys into an std::set. */ class plKeyCollector : public plRegistryKeyIterator { protected: - hsTArray &fKeys; + std::set& fKeys; public: - plKeyCollector(hsTArray& keys); - virtual bool EatKey(const plKey& key); + plKeyCollector(std::set& keys) : fKeys(keys) { } + virtual bool EatKey(const plKey& key) + { + fKeys.insert(key); + return true; + } }; // If you loaded keys with another iterator, this will ensure that they're unloaded diff --git a/Sources/Plasma/PubUtilLib/plResMgr/plResManager.cpp b/Sources/Plasma/PubUtilLib/plResMgr/plResManager.cpp index c723af06..fa0dba8f 100644 --- a/Sources/Plasma/PubUtilLib/plResMgr/plResManager.cpp +++ b/Sources/Plasma/PubUtilLib/plResMgr/plResManager.cpp @@ -990,12 +990,11 @@ void plResManager::SetProgressBarProc(plProgressProc proc) class plResAgeHolder : public hsRefCnt { public: - hsTArray fKeys; + std::set fKeys; plString fAge; plResAgeHolder() {} plResAgeHolder( const plString& age ) : fAge( age ) {} - ~plResAgeHolder() { fKeys.Reset(); } }; //// plResHolderIterator ///////////////////////////////////////////////////// @@ -1003,12 +1002,12 @@ class plResAgeHolder : public hsRefCnt class plResHolderIterator : public plRegistryPageIterator { protected: - hsTArray& fKeys; + std::set& fKeys; plString fAgeName; plResManager* fResMgr; public: - plResHolderIterator(const plString& age, hsTArray& keys, plResManager* resMgr) + plResHolderIterator(const plString& age, std::set& keys, plResManager* resMgr) : fAgeName(age), fKeys(keys), fResMgr(resMgr) {} virtual bool EatPage(plRegistryPageNode* page) diff --git a/Sources/Plasma/PubUtilLib/plResMgr/plResManagerHelper.h b/Sources/Plasma/PubUtilLib/plResMgr/plResManagerHelper.h index 05a1affa..6c88d26f 100644 --- a/Sources/Plasma/PubUtilLib/plResMgr/plResManagerHelper.h +++ b/Sources/Plasma/PubUtilLib/plResMgr/plResManagerHelper.h @@ -135,12 +135,11 @@ class plResPageKeyRefList : public plKeyCollector { protected: - hsTArray fKeyList; + std::set fKeyList; public: plResPageKeyRefList() : plKeyCollector( fKeyList ) {} - virtual ~plResPageKeyRefList() { fKeyList.Reset(); } }; #endif // _plResManagerHelper_h