package rope

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Rope.IteratorSource

Iterators for ropes. It is more efficient to use an iterator to perform small steps and get the characters than to use Rope.get repeatedly.

Sourcetype t

Mutable iterator on a rope. Iterators are less efficient than Rope.get on small ropes (of length <= 1024 chars).

Sourceval make : rope -> int -> t

make r i0 returns a new iterator for the rope r. It is initially at position i0.

Sourceval get : t -> char

get itr returns the character of the rope at the current position. O(1) time. This does not change the current position.

Sourceval peek : t -> int -> char

peek itr i returns the character i of the rope. If i is close to the current position of the iterator, this will in general be more efficient than get rope i.

Sourceval pos : t -> int

pos itr returns the current position. It may not be a valid position of the rope. O(1) time.

Sourceval incr : t -> unit

incr itr moves to the next character. O(1) time.

Sourceval decr : t -> unit

decr itr moves to the previous character. O(1) time.

Sourceval goto : t -> int -> unit

goto itr i move to position i. O(1) time but the next call to get may be slower.

Sourceval move : t -> int -> unit

mode itr i move the current position by i chars (i may be negative or null). O(1) time but the next call to get may be slower.

Sourceval rope : t -> rope

rope itr returns the rope from which the iterator was constructed.

OCaml

Innovation. Community. Security.