aboutsummaryrefslogtreecommitdiff
path: root/app/source/Cplt/Model/Template/TableTemplateIterator.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'app/source/Cplt/Model/Template/TableTemplateIterator.hpp')
-rw-r--r--app/source/Cplt/Model/Template/TableTemplateIterator.hpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/app/source/Cplt/Model/Template/TableTemplateIterator.hpp b/app/source/Cplt/Model/Template/TableTemplateIterator.hpp
new file mode 100644
index 0000000..c4b5bf9
--- /dev/null
+++ b/app/source/Cplt/Model/Template/TableTemplateIterator.hpp
@@ -0,0 +1,35 @@
+#pragma once
+
+#include <Cplt/Model/Template/TableTemplate.hpp>
+#include <Cplt/Model/Template/Template.hpp>
+
+#include <string_view>
+
+class TableSingleParamsIter
+{
+private:
+ TableTemplate* mTemplate;
+ tsl::array_map<char, int>::iterator mIter;
+
+public:
+ TableSingleParamsIter(TableTemplate& tmpl);
+
+ bool HasNext() const;
+ TableCell& Next();
+};
+
+class TableArrayGroupsIter
+{
+private:
+ TableTemplate* mTemplate;
+ tsl::array_map<char, int>::iterator mIter;
+
+public:
+ TableArrayGroupsIter(TableTemplate& tmpl);
+
+ bool HasNext() const;
+ TableArrayGroup& Peek() const;
+ std::string_view PeekName() const;
+ const char* PeekNameCStr() const;
+ void Next();
+};