| 463 | } |
| 464 | |
| 465 | Safe_PyObjectPtr next() override { |
| 466 | Safe_PyObjectPtr result; |
| 467 | Safe_PyObjectPtr item(PyIter_Next(iter_.get())); |
| 468 | if (item) { |
| 469 | Safe_PyObjectPtr name(PyObject_GetAttrString(item.get(), "name")); |
| 470 | result.reset(PyObject_GetAttr(nested_.get(), name.get())); |
| 471 | } |
| 472 | |
| 473 | return result; |
| 474 | } |
| 475 | |
| 476 | private: |
| 477 | Safe_PyObjectPtr nested_; |