pub type Arena<'a, A = ()> = Arena<Doc<'a, RefDoc<'a, A>, A>>;
Expand description
An arena which can be used to allocate Doc
values.
Aliased Type§
struct Arena<'a, A = ()> { /* private fields */ }
Trait Implementations§
Source§impl<'a, A> DocAllocator<'a, A> for Arena<'a, A>
impl<'a, A> DocAllocator<'a, A> for Arena<'a, A>
type Doc = RefDoc<'a, A>
fn alloc(&'a self, doc: Doc<'a, Self::Doc, A>) -> Self::Doc
Source§fn nil(&'a self) -> DocBuilder<'a, Self, A>
fn nil(&'a self) -> DocBuilder<'a, Self, A>
Allocate an empty document.
Source§fn newline(&'a self) -> DocBuilder<'a, Self, A>
fn newline(&'a self) -> DocBuilder<'a, Self, A>
Allocate a single newline.
Source§fn space(&'a self) -> DocBuilder<'a, Self, A>
fn space(&'a self) -> DocBuilder<'a, Self, A>
Allocate a single space.
Source§fn as_string<U: ToString>(&'a self, data: U) -> DocBuilder<'a, Self, A>
fn as_string<U: ToString>(&'a self, data: U) -> DocBuilder<'a, Self, A>
Allocate a document containing the text
t.to_string()
. Read moreSource§fn text<U: Into<Cow<'a, str>>>(&'a self, data: U) -> DocBuilder<'a, Self, A>
fn text<U: Into<Cow<'a, str>>>(&'a self, data: U) -> DocBuilder<'a, Self, A>
Allocate a document containing the given text. Read more
Source§fn concat<I>(&'a self, docs: I) -> DocBuilder<'a, Self, A>
fn concat<I>(&'a self, docs: I) -> DocBuilder<'a, Self, A>
Allocate a document concatenating the given documents.
Source§fn intersperse<I, S>(&'a self, docs: I, separator: S) -> DocBuilder<'a, Self, A>
fn intersperse<I, S>(&'a self, docs: I, separator: S) -> DocBuilder<'a, Self, A>
Allocate a document that intersperses the given separator
S
between the given documents
[A, B, C, ..., Z]
, yielding [A, S, B, S, C, S, ..., S, Z]
. Read more