Make this O(n / 2). Or something like that.

This is designed to be transplantable.
This commit is contained in:
Jason Felds
2013-04-30 21:19:32 -04:00
parent 09c9ba234d
commit 106166f3cc
+12 -4
View File
@@ -564,10 +564,18 @@ void UnlockManager::Load()
// Make sure that we don't have duplicate unlock IDs. This can cause problems
// with UnlockCelebrate and with codes.
FOREACH_CONST( UnlockEntry, m_UnlockEntries, ue )
FOREACH_CONST( UnlockEntry, m_UnlockEntries, ue2 )
if( ue != ue2 )
ASSERT_M( ue->m_sEntryID != ue2->m_sEntryID, ssprintf("duplicate unlock entry id %s",ue->m_sEntryID.c_str()) );
unsigned size = m_UnlockEntries.size();
for (unsigned i = 0; i < size - 1; ++i)
{
UnlockEntry const &ue1 = m_UnlockEntries[i];
for (unsigned j = i + 1; j < size; ++j)
{
UnlockEntry const &ue2 = m_UnlockEntries[j];
// at this point, these two are definitely different. Assert.
ASSERT_M( ue1.m_sEntryID != ue2.m_sEntryID, ssprintf("duplicate unlock entry id %s", ue1.m_sEntryID.c_str()));
}
}
for (UnlockEntry &e : m_UnlockEntries)
{