1#pragma once
2
3#include <basis/seadTypes.h>
4#include <container/seadTList.h>
5
6namespace sead {
7class WriteStream;
8}
9
10namespace al {
11
12class ByamlWriterStringTable {
13public:
14 ByamlWriterStringTable();
15 virtual ~ByamlWriterStringTable();
16 const char* tryAdd(const char*);
17 u32 calcHeaderSize() const;
18 u32 calcContentSize() const;
19 u32 calcPackSize() const;
20 bool isEmpty() const;
21 u32 calcIndex(const char*) const;
22 void write(sead::WriteStream*) const;
23 void print() const;
24
25private:
26 sead::TList<const char*> mList;
27};
28
29} // namespace al
30