17 const vector<unique_ptr<BaseComponent>>& components = composite->getChildren();
19 if (components.size())
23 parents.push(composite);
25 currentComponent = components.front().get();
27 else if (parents.size())
30 size_t nextIndex = indices.top();
31 const vector<unique_ptr<BaseComponent>>& components = composite->
getChildren();
36 if (nextIndex < components.size())
38 parents.push(composite);
39 indices.push(nextIndex + 1);
41 currentComponent = components[nextIndex].get();
50 currentComponent =
nullptr;
58 size_t nextIndex = indices.top();
59 const vector<unique_ptr<BaseComponent>>& components = composite->
getChildren();
64 if (nextIndex < components.size())
66 parents.push(composite);
67 indices.push(nextIndex + 1);
69 currentComponent = components[nextIndex].get();
78 currentComponent =
nullptr;