diff options
author | rtk0c <[email protected]> | 2021-06-28 21:53:17 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2021-06-28 21:53:17 -0700 |
commit | df1a386b067a62c879b48b1eeca50b2982b4f92d (patch) | |
tree | 4213511f7f74779ea1e80abc030cb1272e3b9dee /core/src/Model/Template/TableTemplateIterator.cpp | |
parent | 43cd2bd879d529fcbd0a0f64eccd4ce1eb872ab4 (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.cpp | 52 |
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; +} |