aboutsummaryrefslogtreecommitdiff
path: root/Parser.h
blob: 38ce658b295705fafce57fae8f67b058a14d6c1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once

#include "FileStrategy.h"
#include "Deserializer.h"
#include "ParserStrategy.h"

class Parser {
	typedef std::vector<ParserStrategy*> ParserCollection;

public:
	static void parse(FileStrategy & f, Deserializer & d);
	static void register_strategy(ParserStrategy * p);

private:
	static ParserCollection & get_collection() {
		static ParserCollection c = {};
		return c;
	}
};