Struct wasm_encoder::DataSection
source · pub struct DataSection { /* private fields */ }
Expand description
An encoder for the data section.
Data sections are only supported for modules.
Example
use wasm_encoder::{
ConstExpr, DataSection, Instruction, MemorySection, MemoryType,
Module,
};
let mut memory = MemorySection::new();
memory.memory(MemoryType {
minimum: 1,
maximum: None,
memory64: false,
shared: false,
});
let mut data = DataSection::new();
let memory_index = 0;
let offset = ConstExpr::i32_const(42);
let segment_data = b"hello";
data.active(memory_index, &offset, segment_data.iter().copied());
let mut module = Module::new();
module
.section(&memory)
.section(&data);
let wasm_bytes = module.finish();
Implementations§
source§impl DataSection
impl DataSection
sourcepub fn segment<D>(&mut self, segment: DataSegment<'_, D>) -> &mut Selfwhere
D: IntoIterator<Item = u8>,
D::IntoIter: ExactSizeIterator,
pub fn segment<D>(&mut self, segment: DataSegment<'_, D>) -> &mut Selfwhere D: IntoIterator<Item = u8>, D::IntoIter: ExactSizeIterator,
Define a data segment.
sourcepub fn active<D>(
&mut self,
memory_index: u32,
offset: &ConstExpr,
data: D
) -> &mut Selfwhere
D: IntoIterator<Item = u8>,
D::IntoIter: ExactSizeIterator,
pub fn active<D>( &mut self, memory_index: u32, offset: &ConstExpr, data: D ) -> &mut Selfwhere D: IntoIterator<Item = u8>, D::IntoIter: ExactSizeIterator,
Define an active data segment.
sourcepub fn passive<D>(&mut self, data: D) -> &mut Selfwhere
D: IntoIterator<Item = u8>,
D::IntoIter: ExactSizeIterator,
pub fn passive<D>(&mut self, data: D) -> &mut Selfwhere D: IntoIterator<Item = u8>, D::IntoIter: ExactSizeIterator,
Define a passive data segment.
Passive data segments are part of the bulk memory proposal.
Trait Implementations§
source§impl Clone for DataSection
impl Clone for DataSection
source§fn clone(&self) -> DataSection
fn clone(&self) -> DataSection
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for DataSection
impl Debug for DataSection
source§impl Default for DataSection
impl Default for DataSection
source§fn default() -> DataSection
fn default() -> DataSection
Returns the “default value” for a type. Read more