type

StrBuf

src class StrBuf : Obj

StrBuf is a mutable sequence of Int characters.

constructors

make

Create with initial capacity (defaults to 16).

fields

capacity

The number of characters this buffer can hold without allocating more memory.

methods

add

Add x.toStr to the end of this buffer.

addChar

Optimized implementation for add(ch.toChar).

addRange

Add a substring of the given string to the buffer.

clear

Clear the contents of the string buffer so that it has a size of zero.

get

Get the character at the zero based index as a Unicode code point.

getRange

Return a substring based on the specified range.

insert

Insert x.toStr into this buffer at the specified index.

isEmpty

Return if size() == 0.

join

Add x.toStr to the end of the buffer.

out

Create an output stream to append characters to this string buffer.

remove

Remove the char at the specified index.

removeRange

Remove a range of indices from this buffer.

replaceRange

Replaces a range of indices from this buffer with the specified string.

reverse

Reverse the contents of this string buffer.

set

Replace the existing character at index in this buffer.

size

Return the number of characters in the buffer.

toStr

Return the current buffer contents as a Str.

Slot Details

add

src This add(Obj? x)

Add x.toStr to the end of this buffer. If x is null then the string "null" is inserted. Return this.

addChar

src This addChar(Int ch)

Optimized implementation for add(ch.toChar). Return this.

addRange

src This addRange(Str s, Range r)

Add a substring of the given string to the buffer. Return this.

capacity

src Int capacity

The number of characters this buffer can hold without allocating more memory.

clear

src This clear()

Clear the contents of the string buffer so that it has a size of zero. Return this.

get

src @Operator
Int get(Int index)

Get the character at the zero based index as a Unicode code point. Negative indexes may be used to access from the end of the string buffer. This method is accessed via the [] operator.

getRange

src @Operator
Str getRange(Range range)

Return a substring based on the specified range. Negative indexes may be used to access from the end of the string buffer. This method is accessed via the [] operator. Throw IndexErr if range illegal.

Examples:

"abcd"[0..2]   => "abc"
"abcd"[3..3]   => "d"
"abcd"[-2..-1] => "cd"
"abcd"[0..<2]  => "ab"
"abcd"[1..-2]  => "bc"
"abcd"[4..-1]  => ""

insert

src This insert(Int index, Obj? x)

Insert x.toStr into this buffer at the specified index. If x is null then the string "null" is inserted. Negative indexes may be used to access from the end of the string buffer. Throw IndexErr if index is out of range. Return this.

isEmpty

src Bool isEmpty()

Return if size() == 0.

join

src This join(Obj? x, Str sep := " ")

Add x.toStr to the end of the buffer. If the buffer is not empty, then first add the specified separator which defaults to a space if not specified. Return this.

make

src new make(Int capacity := 16)

Create with initial capacity (defaults to 16).

out

src OutStream out()

Create an output stream to append characters to this string buffer. The output stream is designed to write character data, attempts to do binary writes will throw UnsupportedErr.

remove

src This remove(Int index)

Remove the char at the specified index. A negative index may be used to access an index from the end of the list. Size is decremented by 1. Return this. Throw IndexErr if index is out of range.

removeRange

src This removeRange(Range r)

Remove a range of indices from this buffer. Negative indexes may be used to access from the end of the list. Throw IndexErr if range illegal. Return this.

replaceRange

src This replaceRange(Range r, Str str)

Replaces a range of indices from this buffer with the specified string. Negative indexes may be used to access from the end of the buffer. Throw IndexErr if range illegal. Return this.

reverse

src This reverse()

Reverse the contents of this string buffer. Return this.

set

src @Operator
This set(Int index, Int ch)

Replace the existing character at index in this buffer. Negative indexes may be used to access from the end of the string buffer. This method is accessed via the [] operator. Return this.

size

src Int size()

Return the number of characters in the buffer.

toStr

src virtual override Str toStr()

Return the current buffer contents as a Str.