Skip to content

Expensive algorithm in CrateSystem::Reset #1086

Open
@xezon

Description

@xezon
void CrateSystem::Reset()
{
    for (auto it = m_crateTemplateVector.begin(); it != m_crateTemplateVector.end();) {
        if (*it && (*it)->Delete_Overrides()) {
            it++;
        } else {
            it = m_crateTemplateVector.erase(it);
        }
    }
}

Is deleting from std::vector. Starting at the front. Expensive. Should probably use erase_if algorithm instead.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions