Type Alias pretty::Arena

source ·
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>

§

type Doc = RefDoc<'a, A>

source§

fn alloc(&'a self, doc: Doc<'a, Self::Doc, A>) -> Self::Doc

source§

fn nil(&'a self) -> DocBuilder<'a, Self, A>

Allocate an empty document.
source§

fn newline(&'a self) -> DocBuilder<'a, Self, A>

Allocate a single newline.
source§

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>

Allocate a document containing the text t.to_string(). Read more
source§

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>
where I: IntoIterator, I::Item: Into<Doc<'a, Self::Doc, A>>,

Allocate a document concatenating the given documents.
source§

fn intersperse<I, S>(&'a self, docs: I, separator: S) -> DocBuilder<'a, Self, A>
where I: IntoIterator, I::Item: Into<Doc<'a, Self::Doc, A>>, S: Into<Doc<'a, Self::Doc, A>> + Clone,

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