blob: 56cb5f87a54bbffda0c9e5671aa040ba67b6996e (
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
|
{%- let inner_type_name = inner_type|type_name(ci) %}
public object {{ ffi_converter_name }}: FfiConverterRustBuffer<{{ inner_type_name }}?> {
override fun read(buf: ByteBuffer): {{ inner_type_name }}? {
if (buf.get().toInt() == 0) {
return null
}
return {{ inner_type|read_fn }}(buf)
}
override fun allocationSize(value: {{ inner_type_name }}?): Int {
if (value == null) {
return 1
} else {
return 1 + {{ inner_type|allocation_size_fn }}(value)
}
}
override fun write(value: {{ inner_type_name }}?, buf: ByteBuffer) {
if (value == null) {
buf.put(0)
} else {
buf.put(1)
{{ inner_type|write_fn }}(value, buf)
}
}
}
|