# Copyright (c) 2017 Xored Software, Inc. type GodotPoolByteArray* {.byref.} = object data: array[sizeof(int), byte] GodotPoolIntArray* {.byref.} = object data: array[sizeof(int), byte] GodotPoolRealArray* {.byref.} = object data: array[sizeof(int), byte] GodotPoolStringArray* {.byref.} = object data: array[sizeof(int), byte] GodotPoolVector2Array* {.byref.} = object data: array[sizeof(int), byte] GodotPoolVector3Array* {.byref.} = object data: array[sizeof(int), byte] GodotPoolColorArray* {.byref.} = object data: array[sizeof(int), byte] import godotstrings, godotarrays import core.godotbase, core.colors, core.vector2, core.vector3 # byte proc initGodotPoolByteArray*(dest: var GodotPoolByteArray) {. importc: "godot_pool_byte_array_new".} proc initGodotPoolByteArray*(dest: var GodotPoolByteArray; src: GodotPoolByteArray) {. importc: "godot_pool_byte_array_new_copy".} proc initGodotPoolByteArray*(dest: var GodotPoolByteArray; arr: GodotArray) {. importc: "godot_pool_byte_array_new_with_array".} proc deinit*(self: var GodotPoolByteArray) {. importc: "godot_pool_byte_array_destroy".} proc add*(self: var GodotPoolByteArray; data: uint8) {. importc: "godot_pool_byte_array_append".} proc addFirst*(self: var GodotPoolByteArray, data: uint8) {. importc: "godot_pool_byte_array_push_back".} proc add*(self: var GodotPoolByteArray; arr: GodotPoolByteArray) {. importc: "godot_pool_byte_array_append_array".} proc insert*(self: var GodotPoolByteArray; idx: cint; data: uint8): Error {. importc: "godot_pool_byte_array_insert".} proc delete*(self: var GodotPoolByteArray; idx: cint) {. importc: "godot_pool_byte_array_remove".} proc reverse*(self: var GodotPoolByteArray) {. importc: "godot_pool_byte_array_invert".} proc setLen*(self: var GodotPoolByteArray; size: cint) {. importc: "godot_pool_byte_array_resize".} proc `[]=`*(self: var GodotPoolByteArray; idx: cint; data: uint8) {. importc: "godot_pool_byte_array_set".} proc `[]`*(self: GodotPoolByteArray; idx: cint): uint8 {. noSideEffect, importc: "godot_pool_byte_array_get".} proc len*(self: GodotPoolByteArray): cint {. noSideEffect, importc: "godot_pool_byte_array_size".} iterator items*(arr: GodotPoolByteArray): byte = for i in 0..