Struct rgbds_obj::Object[][src]

pub struct Object { /* fields omitted */ }

A RGBDS object file.

Implementations

impl Object[src]

pub fn read_from(input: impl Read) -> Result<Self, Error>[src]

Reads a serialized object.

Errors

This function returns any errors that occurred while reading data, as well as if the object data itself cannot be deserialized. Note that not all consistency checks are performed when reading the file; for example, RPN expressions may be invalid, the file stack node tree may be malformed, etc.

Note that maximum upwards compatibility is assumed: for example, currently, RPN data is parsed using the v9 r8 spec, even if the file reports an earlier revision. This should change in the future.

pub fn version(&self) -> u8[src]

The object’s version.

pub fn revision(&self) -> u32[src]

The object’s revision.

pub fn node(&self, id: u32) -> Option<&Node>[src]

Retrieves one of the object’s file stack nodes by ID. Returns None if the ID is invalid (too large).

pub fn walk_nodes<E, F>(
    &self,
    id: u32,
    callback: &mut F
) -> Result<(), NodeWalkError<E>> where
    F: FnMut(&Node) -> Result<(), NodeWalkError<E>>, 
[src]

Walks the node tree, from its root up to the node with the given ID, running a callback on each node encountered.

The functon may return an error, which aborts the walk. If the function does not fail, you can (and probably will have to) use Infallible:

object.walk_nodes<Infallible, _>(0, |node| println!("{:?}", node));

pub fn symbols(&self) -> &[Symbol][src]

The object’s symbols.

pub fn sections(&self) -> &[Section][src]

The object’s sections.

pub fn assertions(&self) -> &[Assertion][src]

The object’s assertions.

Trait Implementations

impl Debug for Object[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl RefUnwindSafe for Object

impl Send for Object

impl Sync for Object

impl Unpin for Object

impl UnwindSafe for Object

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.