Struct ssbh_lib::SsbhArray[][src]

pub struct SsbhArray<T: BinRead> {
    pub elements: Vec<T>,
}
Expand description

A fixed-size collection of contiguous elements consisting of a relative offset to the array elements and an element count.

use binread::BinRead;
use ssbh_lib::{SsbhArray, Matrix4x4};
use ssbh_lib::SsbhWrite;
use ssbh_write_derive::SsbhWrite;

#[derive(BinRead, SsbhWrite)]
struct Transforms {
    array_relative_offset: u64,
    array_item_count: u64
}

This can instead be expressed as the following struct with an explicit array item type. The generated parsing and exporting code will correctly read and write the array data from the appropriate offset.

use binread::BinRead;
use ssbh_lib::{SsbhArray, Matrix4x4, SsbhWrite};
use ssbh_write_derive::SsbhWrite;

#[derive(BinRead, SsbhWrite)]
struct Transforms {
    data: SsbhArray<Matrix4x4>,
}

Fields

elements: Vec<T>

Implementations

Creates a new array from elements.

let array = SsbhArray::new(vec![0, 1, 2]);
assert_eq!(vec![0, 1, 2], array.elements);

Trait Implementations

The type of arguments needed to be supplied in order to read this type, usually a tuple. Read more

Read the type from the reader

Read the type from the reader while assuming no arguments have been passed Read more

Read the type from the reader using the specified arguments

The default arguments to be used when using the read shortcut method. Override this for any type that optionally requries arguments Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

Performs the conversion.

Serialize this value into the given Serde serializer. Read more

Writes the byte representation of self to writer and update data_ptr as needed to ensure the next relative offset is correctly calculated.

The offset in bytes between successive elements in an array of this type. This should include any alignment or padding. For most types, this is simply the value of std::mem::size_of. Read more

The alignment of the relative_offset for types stored in a RelPtr64.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.