Struct ropey::RopeBuilder [−][src]
pub struct RopeBuilder { /* fields omitted */ }
Expand description
An efficient incremental Rope
builder.
This is used to efficiently build ropes from sequences of text chunks. It is useful for creating ropes from:
- …large text files, without pre-loading their entire contents into
memory (but see
from_reader()
for a convenience function that does this for casual use-cases). - …streaming data sources.
- …non-utf8 text data, doing the encoding conversion incrementally as you go.
Unlike repeatedly calling Rope::insert()
on the end of a rope,
this API runs in time linear to the amount of data fed to it, and
is overall much faster.
Example
let mut builder = RopeBuilder::new();
builder.append("Hello ");
builder.append("world!\n");
builder.append("How's ");
builder.append("it goin");
builder.append("g?");
let rope = builder.finish();
assert_eq!(rope, "Hello world!\nHow's it going?");
Implementations
Appends chunk
to the end of the in-progress Rope
.
Call this method repeatedly to incrementally build up a
Rope
. The passed text chunk can be as large or small as
desired, but larger chunks are more efficient.
chunk
must be valid utf8 text.
Trait Implementations
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl RefUnwindSafe for RopeBuilder
impl Send for RopeBuilder
impl Sync for RopeBuilder
impl Unpin for RopeBuilder
impl UnwindSafe for RopeBuilder
Blanket Implementations
Mutably borrows from an owned value. Read more