Add ZoneDefinition Parsing

This commit is contained in:
Jan
2021-03-09 11:04:34 +01:00
parent 88ff98f334
commit f3e8100526
8 changed files with 179 additions and 5 deletions

View File

@ -3,13 +3,23 @@
#include <memory>
#include "ZoneDefinition.h"
#include "Parsing/IParserLineStream.h"
class ZoneDefinitionInputStream
{
std::istream& m_stream;
static constexpr const char* ZONE_CODE_GENERATOR_DEFINE_NAME = "__zonecodegenerator";
static constexpr const char* ZONE_CODE_GENERATOR_DEFINE_VALUE = "1";
std::string m_file_name;
bool m_verbose;
IParserLineStream* m_stream;
std::vector<std::unique_ptr<IParserLineStream>> m_open_streams;
bool OpenBaseStream(std::istream& stream);
void SetupStreamProxies();
public:
explicit ZoneDefinitionInputStream(std::istream& stream);
ZoneDefinitionInputStream(std::istream& stream, std::string fileName, bool verbose);
std::unique_ptr<ZoneDefinition> ReadDefinition();
};