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

#include "File.h"
#include "Deserializer.h"
#include "ParserStrategy.h"

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

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

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