feat(render): accept a mutable reference of Write

This commit is contained in:
PoiScript 2019-03-10 01:00:29 +08:00
parent a288a6d554
commit 0c64b76dc6
3 changed files with 12 additions and 21 deletions

View file

@ -15,15 +15,10 @@ macro_rules! create_render {
impl<'a, W: Write> $default_render<'a, W> {
#[inline]
pub fn new(writer: W, text: &'a str) -> Self {
pub fn new(writer: &'a mut W, text: &'a str) -> Self {
$default_render($render::new($default_handler, writer, text))
}
#[inline]
pub fn into_writer(self) -> W {
self.0.writer
}
#[inline]
pub fn render(&mut self) -> Result<()> {
self.0.render()
@ -33,11 +28,11 @@ macro_rules! create_render {
pub struct $render<'a, W: Write, H: $handler<W>> {
pub parser: Parser<'a>,
handler: H,
writer: W,
writer: &'a mut W,
}
impl<'a, W: Write, H: $handler<W>> $render<'a, W, H> {
pub fn new(handler: H, writer: W, text: &'a str) -> Self {
pub fn new(handler: H, writer: &'a mut W, text: &'a str) -> Self {
$render {
parser: Parser::new(text),
handler,
@ -45,10 +40,6 @@ macro_rules! create_render {
}
}
pub fn into_writer(self) -> W {
self.writer
}
pub fn render(&mut self) -> Result<()> {
use crate::parser::Event::*;