Struct wasm_encoder::DataSection [−][src]
pub struct DataSection { /* fields omitted */ }
Expand description
An encoder for the data section.
Example
use wasm_encoder::{
DataSection, Instruction, MemorySection, MemoryType,
Module,
};
let mut memory = MemorySection::new();
memory.memory(MemoryType {
minimum: 1,
maximum: None,
memory64: false,
});
let mut data = DataSection::new();
let memory_index = 0;
let offset = Instruction::I32Const(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
Create a new data section encoder.
pub fn segment<D>(&mut self, segment: DataSegment<'_, D>) -> &mut Self where
D: IntoIterator<Item = u8>,
D::IntoIter: ExactSizeIterator,
pub fn segment<D>(&mut self, segment: DataSegment<'_, D>) -> &mut Self where
D: IntoIterator<Item = u8>,
D::IntoIter: ExactSizeIterator,
Define an active data segment.
pub fn active<'a, D>(
&mut self,
memory_index: u32,
offset: Instruction<'a>,
data: D
) -> &mut Self where
D: IntoIterator<Item = u8>,
D::IntoIter: ExactSizeIterator,
pub fn active<'a, D>(
&mut self,
memory_index: u32,
offset: Instruction<'a>,
data: D
) -> &mut Self where
D: IntoIterator<Item = u8>,
D::IntoIter: ExactSizeIterator,
Define an active data segment.
pub fn passive<'a, D>(&mut self, data: D) -> &mut Self where
D: IntoIterator<Item = u8>,
D::IntoIter: ExactSizeIterator,
pub fn passive<'a, D>(&mut self, data: D) -> &mut Self where
D: IntoIterator<Item = u8>,
D::IntoIter: ExactSizeIterator,
Define a passive data segment.
Passive data segments are part of the bulk memory proposal.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for DataSection
impl Send for DataSection
impl Sync for DataSection
impl Unpin for DataSection
impl UnwindSafe for DataSection
Blanket Implementations
Mutably borrows from an owned value. Read more