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
Ropeat a location that is not a UTF-8 character boundary. - Errors which can occur when attempting to interpret a sequence of
u8as 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.