Struct zapper::bytecode::Bytecode [−][src]
pub struct Bytecode<NumEnum, StrEnum, FilterEnum> { /* fields omitted */ }
Methods
impl<'a, NumEnum: 'a + Copy + Debug + Send + Sync, StrEnum: 'a + Copy + Debug + Send + Sync + PartialEq, FilterEnum: 'a + Copy + Debug + Send + Sync> Bytecode<NumEnum, StrEnum, FilterEnum>
[src]
impl<'a, NumEnum: 'a + Copy + Debug + Send + Sync, StrEnum: 'a + Copy + Debug + Send + Sync + PartialEq, FilterEnum: 'a + Copy + Debug + Send + Sync> Bytecode<NumEnum, StrEnum, FilterEnum>
pub fn from_ast<Env: Environment<'a, NumEnum, StrEnum, FilterEnum>>(
ast: Vec<Expr>,
env: &Env
) -> Result<Bytecode<NumEnum, StrEnum, FilterEnum>, String>
[src]
pub fn from_ast<Env: Environment<'a, NumEnum, StrEnum, FilterEnum>>(
ast: Vec<Expr>,
env: &Env
) -> Result<Bytecode<NumEnum, StrEnum, FilterEnum>, String>
pub fn par_render<'b, RunnerItem, Writer>(
&self,
runner: &[RunnerItem],
output: &mut Writer,
par_chunk_size: usize
) -> Result<(), Error> where
RunnerItem: 'b + Runner<NumEnum, StrEnum, FilterEnum> + Send + Sync,
Writer: Write + Send,
[src]
pub fn par_render<'b, RunnerItem, Writer>(
&self,
runner: &[RunnerItem],
output: &mut Writer,
par_chunk_size: usize
) -> Result<(), Error> where
RunnerItem: 'b + Runner<NumEnum, StrEnum, FilterEnum> + Send + Sync,
Writer: Write + Send,
Renders a template across multiple items in parallel using Rayon with
convenient internally-managed buffers. par_chunk_size controls the number
of iterations that are rendered on each thread before locking the mutex
that wraps output
to write out the work done so far.
NOTE: This function makes trade-offs to enable the maximum throughput. It is less efficient, but given the right par_chunk_size and right number of cores, it can increase total throughput.
A recommended starting point for par_chunk_size is 50.
pub fn render(
&mut self,
runner: &Runner<NumEnum, StrEnum, FilterEnum>,
output: &mut Write
) -> Result<(), Error>
[src]
pub fn render(
&mut self,
runner: &Runner<NumEnum, StrEnum, FilterEnum>,
output: &mut Write
) -> Result<(), Error>
Renders a template using convenient internally-managed buffers, which requires a mutable reference to self.
pub fn render_with(
&self,
runner: &Runner<NumEnum, StrEnum, FilterEnum>,
output: &mut Write,
stack: &mut Vec<f64>,
buffer: &mut String
) -> Result<(), Error>
[src]
pub fn render_with(
&self,
runner: &Runner<NumEnum, StrEnum, FilterEnum>,
output: &mut Write,
stack: &mut Vec<f64>,
buffer: &mut String
) -> Result<(), Error>
Renders a template using only externally provided buffers, allowing for parallelizing the render process by using buffers that are local to the current thread. This allows it to require only an immutable reference to self.
Trait Implementations
impl<NumEnum: Debug, StrEnum: Debug, FilterEnum: Debug> Debug for Bytecode<NumEnum, StrEnum, FilterEnum>
[src]
impl<NumEnum: Debug, StrEnum: Debug, FilterEnum: Debug> Debug for Bytecode<NumEnum, StrEnum, FilterEnum>