Struct rgbds_obj::Object [−][src]
pub struct Object { /* fields omitted */ }
A RGBDS object file.
Implementations
impl Object
[src]
impl Object
[src]pub fn read_from(input: impl Read) -> Result<Self, Error>
[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 node(&self, id: u32) -> Option<&Node>
[src]
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]
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 assertions(&self) -> &[Assertion]
[src]
pub fn assertions(&self) -> &[Assertion]
[src]The object’s assertions.