Expand description
A Unicode string backed by an RRB vector.
Similarly to the standard library String
type, a Rope
owns its
storage and guarantees that its contents are valid Unicode. Unlike
a String
, it is backed not by a Vec<u8>
but by an
im::Vector<u8>
. These in turn are backed by a balanced tree structure
known as an an RRB tree, which makes a wide variety of operations asymptotically
efficient. In particular, ropes can be cloned in constant time, and can be
split or concatenated in logarithmic time.
Modules
- Lending iterators over vectors, with flexible ownership.
- Implementing types for pattern search
- Test strategies for ropes
Structs
- An iterator over the bytes of a rope.
- An iterator over chunks of a
Rope
. - An iterator returned by
find_all
. - A possible error value when converting a
Vector<u8>
into aRope
. - An iterator returned by
lines
. - An iterator returned by
rfind_all
. - An iterator returned by
rsplit
. - An iterator returned by
rsplitn
. - An iterator returned by
rsplit_terminator
. - A Unicode string backed by an RRB vector.
- An iterator returned by
split
. - An iterator returned by
split_inclusive
. - An iterator returned by
splitn
. - An iterator returned by
split_terminator
. - An error returned when attempting to divide a
Rope
at a location that is not a UTF-8 character boundary. - Errors which can occur when attempting to interpret a sequence of
u8
as a string. - Guards against panics during unsafe rope mutation.
Enums
- A chunk of a
Rope
.
Traits
- A trait for types that can be converted into a
Vector<u8>
. - A trait for types that can be converted into a
Vector<u8>
containing valid UTF-8.