Cord

final case
class Cord(self: FingerTree[Int, String])

A Cord is a purely functional data structure for efficiently storing and manipulating Strings that are potentially very long. Very similar to Rope[Char], but with better constant factors and a simpler interface since it's specialized for Strings.

Companion
object
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Concrete methods

def ++(xs: Cord): Cord

Appends another Cord to the end of this one. Time complexity: O(log (min N M)) where M and N are the lengths of the two Cords.

Appends another Cord to the end of this one. Time complexity: O(log (min N M)) where M and N are the lengths of the two Cords.

def +:(x: => String): Cord

Prepends a String to the beginning of this Cord. Time complexity: O(1)

Prepends a String to the beginning of this Cord. Time complexity: O(1)

def -:(x: => Char): Cord

Prepends a Char to the beginning of this Cord. Time complexity: O(1)

Prepends a Char to the beginning of this Cord. Time complexity: O(1)

def :+(x: => String): Cord

Appends a String to the end of this Cord. Time complexity: O(1)

Appends a String to the end of this Cord. Time complexity: O(1)

def :-(x: => Char): Cord

Appends a Char to the end of this Cord. Time complexity: O(1)

Appends a Char to the end of this Cord. Time complexity: O(1)

def apply(i: Int): Char

Returns the character at the given position. Throws an error if the index is out of range. Time complexity: O(log N)

Returns the character at the given position. Throws an error if the index is out of range. Time complexity: O(log N)

def drop(n: Int): Cord

Removes the first n characters from the front of this Cord. Time complexity: O(min N (N - n))

Removes the first n characters from the front of this Cord. Time complexity: O(min N (N - n))

def flatMap(f: Char => Cord): Cord

Transforms each character to a Cord according to the given function and concatenates them all into one Cord.

Transforms each character to a Cord according to the given function and concatenates them all into one Cord.

def init: Cord

Removes the last character of this Cord. Time complexity: O(1)

Removes the last character of this Cord. Time complexity: O(1)

def isEmpty: Boolean

Returns whether this Cord will expand to an empty string.

Returns whether this Cord will expand to an empty string.

def length: Int

Returns the number of characters in this Cord. Time complexity: O(1)

Returns the number of characters in this Cord. Time complexity: O(1)

def map(f: Char => Char): Cord

Modifies each character in this Cord by the given function. Time complexity: O(N)

Modifies each character in this Cord by the given function. Time complexity: O(N)

def nonEmpty: Boolean

Returns whether this Cord will expand to a non-empty string.

Returns whether this Cord will expand to a non-empty string.

def size: Int

Returns the number of characters in this Cord. Time complexity: O(1)

Returns the number of characters in this Cord. Time complexity: O(1)

def split(i: Int): (Cord, Cord)

Splits this Cord in two at the given position. Time complexity: O(log N)

Splits this Cord in two at the given position. Time complexity: O(log N)

def tail: Cord

Removes the first character of this Cord. Time complexity: O(1)

Removes the first character of this Cord. Time complexity: O(1)

def take(n: Int): Cord

Returns the first n characters at the front of this Cord. Time complexity: O(min N (N - n))

Returns the first n characters at the front of this Cord. Time complexity: O(min N (N - n))

def toList: List[Char]
def toStream: Stream[Char]
override
def toString: String
Definition Classes
Any
def toVector: Vector[Char]

Inherited methods

def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product