7 unstable releases (3 breaking)

Uses old Rust 2015

0.3.1 Feb 10, 2017
0.3.0 Jan 14, 2017
0.2.0 Jan 14, 2017
0.1.2 Jan 9, 2017
0.0.1 Dec 29, 2016

#1879 in Data structures

Download history 12/week @ 2024-02-19 6/week @ 2024-02-26 3/week @ 2024-03-04 4/week @ 2024-03-11 48/week @ 2024-04-01

53 downloads per month
Used in persistent_rope

MIT license

345KB
4.5K SLoC

an rope

Build Status codecov Dependency Status Clippy Linting Result MIT License crates.io RustDoc documentation Master RustDoc

An immutable Rope data structure for storing large text documents. This implementation is a component of the an-editor project.

A rope is an efficient data structure for large strings. It's essentially a binary tree whose leaves are strings.

For more information, see the following resources:

compatibility

an-rope is built against the latest stable, beta, and nightly Rust releases, on macOS and Ubuntu. Some features rely on nightly Rust, and may not be available on other release channels.

cargo feature flags

  • tendril: use the tendril library to optimise performance for small strings.
  • rebalance: enable Rope rebalancing.
  • atomic: ensure Ropes are thread-safe (use Arc or atomic tendrils)
  • unstable: enable nightly Rust features. pass this flag if building on nightly Rust.

Dependencies

~0.7–1.8MB
~36K SLoC