type

StrBuf

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).

clear

Clear the contents of the string buffer so that is 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

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

This addChar(Int ch)

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

capacity

Int capacity

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

clear

This clear()

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

get

@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

@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

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

Bool isEmpty()

Return if size() == 0.

join

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

new make(Int capacity := 16)

Create with initial capacity (defaults to 16).

out

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

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 the this. Throw IndexErr if index is out of range.

removeRange

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

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

This reverse()

Reverse the contents of this string buffer. Return this.

set

@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

Int size()

Return the number of characters in the buffer.

toStr

virtual override Str toStr()

Return the current buffer contents as a Str.