Expand description
This crate contains interfaces and helper functions used by the Garnish Core libraries.
Modules§
- Helper functions created for core libraries that don’t have an implementation of GarnishData. These might be removed when an iterator interface is created for reading data instead of manual indexing.
Structs§
- Concrete object for when a runtime requires no context functionality. Can use constants
EMPTY_CONTEXT
andNO_CONTEXT
if needed as type parameters. - Error implementation for
crate::GarnishRuntime
instruction methods.
Enums§
- List of possible error types a
RuntimeError
can be categorized as. - List of Garnish data types.
- List of possible instructions a Garnish runtime can process.
Constants§
- Constant instantiation of
EmptyContext
. - An
Option
set to None. Typed as a mutable reference to anEmptyContext
for use incrate::GarnishRuntime
instruction methods that require a context be passed.
Traits§
- Functionality required by Garnish contexts.
- Trait defining what a data access operations are required by a runtime.
- Arithmetic operations required so a runtime can resolve associated instruction.
- Trait containing instruction operations Garnish needs to execute. All instruction methods (e.g. all except
GarnishRuntime::get_data
,GarnishRuntime::get_data_mut
should a Result. With the Ok value being the next instruction address to be executed if not sequential, otherwise return None - Trait to provide constant values that a runtime will need access to.