Struct ropey::RopeBuilder
source · pub struct RopeBuilder { /* private fields */ }
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§
source§impl RopeBuilder
impl RopeBuilder
Trait Implementations§
source§impl Clone for RopeBuilder
impl Clone for RopeBuilder
source§fn clone(&self) -> RopeBuilder
fn clone(&self) -> RopeBuilder
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more