224 } |
224 } |
225 }; |
225 }; |
226 |
226 |
227 void save(const Model& model, QIODevice *device); |
227 void save(const Model& model, QIODevice *device); |
228 void updateHeaderNameField(Model& model, const QString &name); |
228 void updateHeaderNameField(Model& model, const QString &name); |
|
229 |
|
230 template<typename T> |
|
231 void iterate(const Model& model, std::function<void(const T&)> fn) |
|
232 { |
|
233 for (int i = 0; i < model.size(); ++i) { |
|
234 if (std::holds_alternative<T>(model[i])) { |
|
235 fn(std::get<T>(model[i])); |
|
236 } |
|
237 } |
|
238 } |