mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-13 15:01:49 +00:00
added more new views (viewers) for bytearray (again both to Lua & Russian docs)
This commit is contained in:
parent
9fc94e40b2
commit
457fc57349
3 changed files with 18 additions and 4 deletions
|
|
@ -55,15 +55,19 @@ bytes:move(fromindex: posint, toindex: posint, size: posint)
|
||||||
|
|
||||||
Это "вьюшки" поверх Bytearray, которые интерпретируют его байты как массив чисел другого размера - **без копирования данных**.
|
Это "вьюшки" поверх Bytearray, которые интерпретируют его байты как массив чисел другого размера - **без копирования данных**.
|
||||||
|
|
||||||
Не имеет своих методов, является просто объектной ссылкой на оригинальный Bytearray.
|
Практически не имеют своих методов, являются простыми объектными ссылками на оригинальный Bytearray.
|
||||||
|
|
||||||
| Класс | Тип элементов | Размер |
|
| Класс | Тип элементов | Размер |
|
||||||
| ------------ | ------------------ | --------- |
|
| ------------ | ------------------ | --------- |
|
||||||
|
| `I8view` | `int8_t` | 1 байт |
|
||||||
| `I16view` | `int16_t` | 2 байта |
|
| `I16view` | `int16_t` | 2 байта |
|
||||||
| `U16view` | `uint16_t` | 2 байта |
|
| `U16view` | `uint16_t` | 2 байта |
|
||||||
| `I32view` | `int32_t` | 4 байта |
|
| `I32view` | `int32_t` | 4 байта |
|
||||||
| `U32view` | `uint32_t` | 4 байта |
|
| `U32view` | `uint32_t` | 4 байта |
|
||||||
|
| `I64view` | `int64_t` | 8 байт |
|
||||||
|
| `U64view` | `uint64_t` | 8 байт |
|
||||||
| `FLTview` | `float` | 4 байта* |
|
| `FLTview` | `float` | 4 байта* |
|
||||||
|
| `DBLview` | `double` | 8 байт* |
|
||||||
|
|
||||||
<small>* Размеры "оригинальных" C-шных типов являются платформозависимыми и их точный размер не описан в стандарте языка. В данной таблице предоставлены наиболее распространённые размеры типов.</small>
|
<small>* Размеры "оригинальных" C-шных типов являются платформозависимыми и их точный размер не описан в стандарте языка. В данной таблице предоставлены наиболее распространённые размеры типов.</small>
|
||||||
|
|
||||||
|
|
@ -77,9 +81,7 @@ bytes:move(fromindex: posint, toindex: posint, size: posint)
|
||||||
view:typesize() -> posint
|
view:typesize() -> posint
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
## Пример использования
|
||||||
|
|
||||||
### Пример использования
|
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
local bytes = Bytearray({1, 0, 2, 0, 250, 255})
|
local bytes = Bytearray({1, 0, 2, 0, 250, 255})
|
||||||
|
|
|
||||||
|
|
@ -352,19 +352,27 @@ local function create_FFIview_class(name, typename)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local FFII8view = create_FFIview_class("FFII8view", "int8_t")
|
||||||
local FFII16view = create_FFIview_class("FFII16view", "int16_t")
|
local FFII16view = create_FFIview_class("FFII16view", "int16_t")
|
||||||
local FFIU16view = create_FFIview_class("FFIU16view", "uint16_t")
|
local FFIU16view = create_FFIview_class("FFIU16view", "uint16_t")
|
||||||
local FFII32view = create_FFIview_class("FFII32view", "int32_t")
|
local FFII32view = create_FFIview_class("FFII32view", "int32_t")
|
||||||
local FFIU32view = create_FFIview_class("FFIU32view", "uint32_t")
|
local FFIU32view = create_FFIview_class("FFIU32view", "uint32_t")
|
||||||
|
local FFII64view = create_FFIview_class("FFII32view", "int64_t")
|
||||||
|
local FFIU64view = create_FFIview_class("FFIU32view", "uint64_t")
|
||||||
local FFIFLTview = create_FFIview_class("FFIFLTview", "float")
|
local FFIFLTview = create_FFIview_class("FFIFLTview", "float")
|
||||||
|
local FFIDBLview = create_FFIview_class("FFIDBLview", "double")
|
||||||
|
|
||||||
return {
|
return {
|
||||||
FFIBytearray = setmetatable(FFIBytearray, FFIBytearray),
|
FFIBytearray = setmetatable(FFIBytearray, FFIBytearray),
|
||||||
FFIBytearray_as_string = FFIBytearray_as_string,
|
FFIBytearray_as_string = FFIBytearray_as_string,
|
||||||
FFIBytearray_as_ptr = FFIBytearray_as_ptr,
|
FFIBytearray_as_ptr = FFIBytearray_as_ptr,
|
||||||
|
FFII8view = FFII8view,
|
||||||
FFIU16view = FFIU16view,
|
FFIU16view = FFIU16view,
|
||||||
FFII16view = FFII16view,
|
FFII16view = FFII16view,
|
||||||
FFIU32view = FFIU32view,
|
FFIU32view = FFIU32view,
|
||||||
FFII32view = FFII32view,
|
FFII32view = FFII32view,
|
||||||
|
FFIU64view = FFIU64view,
|
||||||
|
FFII64view = FFII64view,
|
||||||
FFIFLTview = FFIFLTview,
|
FFIFLTview = FFIFLTview,
|
||||||
|
FFIDBLview = FFIDBLview,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -310,11 +310,15 @@ local bytearray = require "core:internal/bytearray"
|
||||||
Bytearray = bytearray.FFIBytearray
|
Bytearray = bytearray.FFIBytearray
|
||||||
Bytearray_as_string = bytearray.FFIBytearray_as_string
|
Bytearray_as_string = bytearray.FFIBytearray_as_string
|
||||||
Bytearray_as_ptr = bytearray.FFIBytearray_as_ptr
|
Bytearray_as_ptr = bytearray.FFIBytearray_as_ptr
|
||||||
|
I8view = bytearray.FFII8view
|
||||||
U16view = bytearray.FFIU16view
|
U16view = bytearray.FFIU16view
|
||||||
I16view = bytearray.FFII16view
|
I16view = bytearray.FFII16view
|
||||||
U32view = bytearray.FFIU32view
|
U32view = bytearray.FFIU32view
|
||||||
I32view = bytearray.FFII32view
|
I32view = bytearray.FFII32view
|
||||||
|
U64view = bytearray.FFIU64view
|
||||||
|
I64view = bytearray.FFII64view
|
||||||
FLTview = bytearray.FFIFLTview
|
FLTview = bytearray.FFIFLTview
|
||||||
|
DBLview = bytearray.FFIDBLview
|
||||||
Bytearray_construct = function(...) return Bytearray(...) end
|
Bytearray_construct = function(...) return Bytearray(...) end
|
||||||
|
|
||||||
bit.compile = require "core:bitwise/compiler"
|
bit.compile = require "core:bitwise/compiler"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue