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

#include "FileReader.h"
#include "MuseumDeserializer.h"
#include "Parser.h"

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

public:
	static void parse(FileReader & f, MuseumDeserializer & d);
	static void register_strategy(Parser * p);

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