38. 用于数组作的 Boost 包
array_boost 模块实现数组作例程的集合。
所有函数和符号都在 “array_boost” 模块中,使用 require 来访问它。
require daslib/array_boost
38.1. 临时数组
- temp_array(arr: auto implicit ==const)
temp_array returns auto
Warning
这是不安全的操作。
argument |
argument type |
---|---|
arr |
auto implicit! |
从给定对象创建临时数组。 重要要求是:
对象内存是线性的
每个元素直接跟随下一个元素,步幅等于元素的大小
对象内存在返回数组的生命周期内不会更改
- temp_array(arr: auto const implicit ==const)
temp_array returns auto
Warning
这是不安全的操作。
argument |
argument type |
---|---|
arr |
auto const implicit! |
从给定对象创建临时数组。 重要要求是:
对象内存是线性的
每个元素直接跟随下一个元素,步幅等于元素的大小
对象内存在返回数组的生命周期内不会更改
- temp_array(data: auto? ==const; lenA: int const; a: auto(TT) const)
temp_array returns array<TT>
Warning
这是不安全的操作。
argument |
argument type |
---|---|
data |
auto?! |
lenA |
int const |
a |
auto(TT) const |
从给定对象创建临时数组。 重要要求是:
对象内存是线性的
每个元素直接跟随下一个元素,步幅等于元素的大小
对象内存在返回数组的生命周期内不会更改
- temp_array(data: auto? const ==const; lenA: int const; a: auto(TT) const)
temp_array returns array<TT> const
Warning
这是不安全的操作。
argument |
argument type |
---|---|
data |
auto? const! |
lenA |
int const |
a |
auto(TT) const |
从给定对象创建临时数组。 重要要求是:
对象内存是线性的
每个元素直接跟随下一个元素,步幅等于元素的大小
对象内存在返回数组的生命周期内不会更改
38.2. 空支票
- empty(v: auto(VecT) const)
empty returns auto
argument |
argument type |
---|---|
v |
auto(VecT) const |
如果 ‘v’ 有 0 个元素,则返回 true。这也意味着定义了`length(v)`。
38.3. 未分类
- array_view(bytes: array<auto(TT)> const ==const; offset: int const; length: int const; blk: block<(view:array<TT> const#):void> const)
array_view returns auto
argument |
argument type |
---|---|
bytes |
array<auto(TT)> const! |
offset |
int const |
length |
int const |
blk |
block<(view:array<TT> const#):void> const |
创建数组的视图,该视图是仅在块内有效的临时数组
- array_view(bytes: array<auto(TT)> ==const; offset: int const; length: int const; blk: block<(var view:array<TT>#):void> const)
array_view returns auto
argument |
argument type |
---|---|
bytes |
array<auto(TT)>! |
offset |
int const |
length |
int const |
blk |
block<(view:array<TT>#):void> const |
创建数组的视图,该视图是仅在块内有效的临时数组