core :: Buffer :: insert_char
c
at position pos
var b = new Buffer
b.append "美しい世界"
b.insert_char(' ', 3)
assert b == "美しい 世界"
# Inserts `c` at position `pos`
#
# ~~~
# var b = new Buffer
# b.append "美しい世界"
# b.insert_char(' ', 3)
# assert b == "美しい 世界"
# ~~~
fun insert_char(c: Char, pos: Int) is abstract
lib/core/text/abstract_text.nit:1747,2--1755,47
redef fun insert_char(c, pos) do
assert pos >= 0 and pos <= length
if pos == length then
add c
return
end
var clen = c.u8char_len
enlarge(byte_length + clen)
var it = _items
var shpos = it.char_to_byte_index(pos)
rshift_bytes(shpos, clen)
it.set_char_at(shpos, c)
length += 1
byte_length += clen
end
lib/core/text/flat.nit:953,2--967,4