pub trait Resolve {
// Required methods
fn resolve_flags(
&self,
r: PlainRef,
flags: ParseFlags,
depth: usize,
) -> Result<Primitive>;
fn get<T: Object + DataSize>(&self, r: Ref<T>) -> Result<RcRef<T>>;
fn options(&self) -> &ParseOptions;
fn stream_data(
&self,
id: PlainRef,
range: Range<usize>,
) -> Result<Arc<[u8]>>;
fn get_data_or_decode(
&self,
id: PlainRef,
range: Range<usize>,
filters: &[StreamFilter],
) -> Result<Arc<[u8]>>;
// Provided method
fn resolve(&self, r: PlainRef) -> Result<Primitive> { ... }
}Required Methods§
fn resolve_flags( &self, r: PlainRef, flags: ParseFlags, depth: usize, ) -> Result<Primitive>
fn get<T: Object + DataSize>(&self, r: Ref<T>) -> Result<RcRef<T>>
fn options(&self) -> &ParseOptions
fn stream_data(&self, id: PlainRef, range: Range<usize>) -> Result<Arc<[u8]>>
fn get_data_or_decode( &self, id: PlainRef, range: Range<usize>, filters: &[StreamFilter], ) -> Result<Arc<[u8]>>
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.