redef fun clear do
is_dirty = true
- if written then reset
_bytelen = 0
_length = 0
+ if written then reset
end
redef fun empty do return new Buffer
init from(s: Text)
do
_items = new NativeString(s.bytelen)
- if s isa FlatText then
- _items = s._items
- else
- for i in substrings do i.as(FlatString)._items.copy_to(_items, i._bytelen, 0, 0)
- end
+ for i in s.substrings do i._items.copy_to(_items, i._bytelen, first_byte, 0)
_bytelen = s.bytelen
_length = s.length
_capacity = _bytelen
- written = true
end
# Create a new empty string with a given capacity.
init with_capacity(cap: Int)
do
assert cap >= 0
- _items = new NativeString(cap + 1)
+ _items = new NativeString(cap)
capacity = cap
_bytelen = 0
end