aboutsummaryrefslogtreecommitdiff
path: root/app/source/Cplt/Model/Template/TableTemplateIterator.hpp
blob: d9cb2adb575a4e04286fbd2647aae49fbfac82b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#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();
};