1 unstable release

0.1.0 Sep 19, 2023

#12 in #rope

Apache-2.0 WITH LLVM-exception

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

~4.5MB
~92K SLoC