summaryrefslogtreecommitdiff
path: root/docs/type_system/buffer.md
blob: dca8ab9b297446d6b69adf170872f8fd6fd32966 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Buffer

---

An sequence of bytes with unknown size and a byte representation

```text
Buffer[[TYPE | UTF8 | UTF16 | UTF32] TYPE]
```

## Type Body Object Definitions

```c
typedef struct {
    kpl_ptr type;
} kpl_type_body_buffer;
```

# Alias

```text
String `alias Buffer[[UTF8] Void]

Array[Generic.T] `alias Buffer[[TYPE] Generic.T]
```

# Operators

## Symbol Access

## ``get`

## ``set`

## ``length`

## ``push`

## ``pop`

## ``join`

## ``split`

## Concatenate `,`

# Iterating

# Mutating

# Strings

```text
s : "asdf"
`log s String $ "asdf"
```