Load a range of table elements and iterate over wasm reference values.
(&self, store: &Store, offset: usize, len: usize)
| 389 | |
| 390 | /// Load a range of table elements and iterate over wasm reference values. |
| 391 | pub fn load(&self, store: &Store, offset: usize, len: usize) -> Result<alloc::vec::IntoIter<WasmValue>> { |
| 392 | let table = self.instance(store)?; |
| 393 | let element_type = table.kind.element_type; |
| 394 | let elements = table.load(offset, len)?; |
| 395 | Ok(elements |
| 396 | .iter() |
| 397 | .copied() |
| 398 | .map(move |element| table_element_to_value(element_type, element)) |
| 399 | .collect::<alloc::vec::Vec<_>>() |
| 400 | .into_iter()) |
| 401 | } |
| 402 | |
| 403 | /// Set a table element. |
| 404 | pub fn set(&self, store: &mut Store, index: TableAddr, value: WasmValue) -> Result<(), Trap> { |