package core_kernel
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=2e9dec37cf1b1a05fa3ad24ae8efd1e389b82928d598db097771405da1d6b214
md5=ee4f3b03ce7fa4cb0c27e9b02cc7712d
doc/core_kernel.rope/Rope/index.html
Module Rope
A rope is a standard data structure that represents a single string as a tree of strings, allowing concatenation to do no work up front. See the README.md file for details and motivating examples.
val quickcheck_generator : t Base_quickcheck.Generator.t
val quickcheck_observer : t Base_quickcheck.Observer.t
val quickcheck_shrinker : t Base_quickcheck.Shrinker.t
val of_string : string -> t
Takes O(1) time. The string isn't copied, so don't mutate it.
val empty : t
val is_empty : t -> bool
val length : t -> int
val to_string : t -> string
Allocates a fresh string, so takes time proportional to the total size of the result.
val to_char_sequence : t -> char Core_kernel.Sequence.t
to_char_sequence
can often produce characters incrementally, but in the worst case it takes time and memory proportional to the total length of the string to produce even a single character. (In such cases, it should still only take O(length) time to produce the rest of the string.)
val add_to_buffer : t -> Core_kernel.Buffer.t -> unit
Appends the contents of the Rope at the end of a destination buffer.
is_prefix a ~prefix:b
is a more efficient version of String.is_prefix (Rope.to_string a) ~prefix:(Rope.to_string b)
. However, the worst-case time complexity is still O(length t)
instead of O(min(length t, length prefix))
as one could expect.
module For_testing : sig ... end