9
|
1 /*
|
|
2 ** Copyright (c) 2014-2017, Eren Okka
|
|
3 **
|
|
4 ** This Source Code Form is subject to the terms of the Mozilla Public
|
|
5 ** License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
6 ** file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
7 */
|
|
8
|
|
9 #pragma once
|
|
10
|
|
11 #include "element.h"
|
|
12 #include "options.h"
|
|
13 #include "string.h"
|
|
14 #include "token.h"
|
|
15
|
|
16 namespace anitomy {
|
|
17
|
|
18 class Anitomy {
|
|
19 public:
|
|
20 bool Parse(string_t filename);
|
|
21
|
|
22 Elements& elements();
|
|
23 Options& options();
|
|
24 const token_container_t& tokens() const;
|
|
25
|
|
26 private:
|
|
27 bool RemoveExtensionFromFilename(string_t& filename, string_t& extension) const;
|
|
28 void RemoveIgnoredStrings(string_t& filename) const;
|
|
29
|
|
30 Elements elements_;
|
|
31 Options options_;
|
|
32 token_container_t tokens_;
|
|
33 };
|
|
34
|
|
35 } // namespace anitomy
|