aboutsummaryrefslogtreecommitdiff
path: root/lib/mstch/src/state/in_section.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mstch/src/state/in_section.hpp')
-rw-r--r--lib/mstch/src/state/in_section.hpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/mstch/src/state/in_section.hpp b/lib/mstch/src/state/in_section.hpp
new file mode 100644
index 0000000..14ca2f7
--- /dev/null
+++ b/lib/mstch/src/state/in_section.hpp
@@ -0,0 +1,24 @@
+#pragma once
+
+#include <sstream>
+#include <vector>
+
+#include "render_state.hpp"
+#include "template_type.hpp"
+
+namespace mstch {
+
+class in_section: public render_state {
+ public:
+ enum class type { inverted, normal };
+ in_section(type type, const token& start_token);
+ std::string render(render_context& context, const token& token) override;
+
+ private:
+ const type m_type;
+ const token& m_start_token;
+ template_type m_section;
+ int m_skipped_openings;
+};
+
+}