1 unstable release
0.1.0 | Sep 19, 2023 |
---|
#16 in #rope
265KB
6.5K
SLoC
im-rope
This Rust crate provides a rope implementation based on RRB vectors.
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 a Vector<u8>
from the im
crate. 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.
Documentation
See API docs on docs.rs.
License
This project licensed under the Apache License
2.0 with LLVM
exception. Unless you explicitly
state otherwise, any contribution intentionally submitted for inclusion in
im-rope
by you, shall be licensed as Apache 2.0 with LLVM exception,
without any additional terms or conditions.
Dependencies
~5MB
~100K SLoC