class sys::StrBuf

sys::Obj
  sys::StrBuf

StrBuf is a mutable sequence of Int characters.

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.

addStr

This addStr(Str str, Int off := 0, Int len := str.size())

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

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.

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.