liquid_core/runtime/
template.rs1use std::io::Write;
2
3use crate::error::Result;
4
5use super::Renderable;
6use super::Runtime;
7
8#[derive(Debug)]
10pub struct Template {
11 elements: Vec<Box<dyn Renderable>>,
12}
13
14impl Template {
15 pub fn new(elements: Vec<Box<dyn Renderable>>) -> Template {
17 Template { elements }
18 }
19}
20
21impl Renderable for Template {
22 fn render_to(&self, writer: &mut dyn Write, runtime: &dyn Runtime) -> Result<()> {
23 for el in &self.elements {
24 el.render_to(writer, runtime)?;
25
26 if runtime
31 .registers()
32 .get_mut::<super::InterruptRegister>()
33 .interrupted()
34 {
35 break;
36 }
37 }
38 Ok(())
39 }
40}