It would be cleaner to move these lines up (including the return) instead of the "break;" -- then eliminate the "if (idx == m_children.size()) { " and just return false if you fall out of the loop.