[][src]Struct wasm_encoder::DataSection

pub struct DataSection { /* fields omitted */ }

An encoder for the data section.

Example

use wasm_encoder::{
    DataSection, Instruction, Limits, MemorySection, MemoryType,
    Module,
};

let mut memory = MemorySection::new();
memory.memory(MemoryType {
    limits: Limits {
        min: 1,
        max: None,
    },
});

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

impl DataSection[src]

pub fn new() -> DataSection[src]

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
[src]

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
[src]

Define an active data segment.

pub fn passive<'a, D>(&mut self, data: D) -> &mut Self where
    D: IntoIterator<Item = u8>,
    D::IntoIter: ExactSizeIterator
[src]

Define a passive data segment.

Passive data segments are part of the bulk memory proposal.

Trait Implementations

impl Section for DataSection[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.