HierarchicIterator hbegin(int maxLevel) const { std::function<void(const EntityType &)> collectEntities; collectEntities = [this, &collectEntities, &maxLevel](const EntityType &entity) { if (this->level() == maxLevel) return; m_hierarchicIteratorVector.reset(); for (auto &&son : m_sons) { m_hierarchicIteratorVector.push_back(son); collectEntities(son); } }; collectEntities(*this); return m_hierarchicIteratorVector.begin(); }
void doApply(MapFacade* facade, const IssueList& issues) const { const PushSelection selection(facade); removeAttributes(facade, collectEntities(issues)); }