aboutsummaryrefslogtreecommitdiff
path: root/core/src/Model/Template/TableTemplateIterator.hpp
blob: bf7f5176f8a35cfb3a9f5bc7f4d4043699ec7a33 (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
34
35
#pragma once

#include "Model/Template/TableTemplate.hpp"
#include "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();
};