aboutsummaryrefslogtreecommitdiff
path: root/core/src/Model/Template/TableTemplateIterator.cpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2021-06-28 21:53:17 -0700
committerrtk0c <[email protected]>2021-06-28 21:53:17 -0700
commitdf1a386b067a62c879b48b1eeca50b2982b4f92d (patch)
tree4213511f7f74779ea1e80abc030cb1272e3b9dee /core/src/Model/Template/TableTemplateIterator.cpp
parent43cd2bd879d529fcbd0a0f64eccd4ce1eb872ab4 (diff)
Add table content list, cell status indicator
Diffstat (limited to 'core/src/Model/Template/TableTemplateIterator.cpp')
-rw-r--r--core/src/Model/Template/TableTemplateIterator.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/core/src/Model/Template/TableTemplateIterator.cpp b/core/src/Model/Template/TableTemplateIterator.cpp
new file mode 100644
index 0000000..19e30b9
--- /dev/null
+++ b/core/src/Model/Template/TableTemplateIterator.cpp
@@ -0,0 +1,52 @@
+#include "TableTemplateIterator.hpp"
+
+TableSingleParamsIter::TableSingleParamsIter(TableTemplate& tmpl)
+ : mTemplate{ &tmpl }
+ , mIter{ tmpl.mName2Parameters.begin() }
+{
+}
+
+bool TableSingleParamsIter::HasNext() const
+{
+ return mIter != mTemplate->mName2Parameters.end();
+}
+
+TableCell& TableSingleParamsIter::Next()
+{
+ int id = mIter.value();
+ ++mIter;
+
+ return mTemplate->mCells[id];
+}
+
+TableArrayGroupsIter::TableArrayGroupsIter(TableTemplate& tmpl)
+ : mTemplate{ &tmpl }
+ , mIter{ tmpl.mName2ArrayGroups.begin() }
+{
+}
+
+bool TableArrayGroupsIter::HasNext() const
+{
+ return mIter != mTemplate->mName2ArrayGroups.end();
+}
+
+TableArrayGroup& TableArrayGroupsIter::Peek() const
+{
+ int id = mIter.value();
+ return mTemplate->mArrayGroups[id];
+}
+
+std::string_view TableArrayGroupsIter::PeekName() const
+{
+ return mIter.key_sv();
+}
+
+const char* TableArrayGroupsIter::PeekNameCStr() const
+{
+ return mIter.key();
+}
+
+void TableArrayGroupsIter::Next()
+{
+ ++mIter;
+}