Iterating over Model Rows
Gtk::TreeModel provides a C++ Standard Library-style container of its children, via the children() method. You can use the familiar begin() and end() methods iterator incrementing, like so:
auto children = refModel->children();
for (auto iter = children.begin(), end = children.end(); iter != end; ++iter)
{
auto row = *iter;
//Do something with the row - see above for set/get.
}
If you always want to iterate across the entire range, much more succinct syntax is possible using C++'s range-based for loop:
for (auto row: refModel->children())
{
//Do something with the row - see above for set/get.
}
Row children
When using a Gtk::TreeStore, the rows can have child rows, which can have their own children in turn. Use Gtk::TreeModel::Row::children() to get the container of child Rows:
Gtk::TreeModel::Children children = row.children();