--- a/src/model.h Thu Jun 09 19:11:27 2022 +0300 +++ b/src/model.h Sat Jun 11 14:30:30 2022 +0300 @@ -226,3 +226,13 @@ void save(const Model& model, QIODevice *device); void updateHeaderNameField(Model& model, const QString &name); + +template<typename T> +void iterate(const Model& model, std::function<void(const T&)> fn) +{ + for (int i = 0; i < model.size(); ++i) { + if (std::holds_alternative<T>(model[i])) { + fn(std::get<T>(model[i])); + } + } +}