/// Gets the root of the Flatbuffer, verifying it first with default options. /// Note that verification is an experimental feature and may not be maximally performant or /// catch every error (though that is the goal). See the `_unchecked` variants for previous /// behavior. pubfn root<'buf, T>(data: &'buf [u8]) -> Result<T::Inner, InvalidFlatbuffer> where
T: 'buf + Follow<'buf> + Verifiable,
{ let opts = VerifierOptions::default();
root_with_opts::<T>(&opts, data)
}
#[inline] /// Gets the root of the Flatbuffer, verifying it first with given options. /// Note that verification is an experimental feature and may not be maximally performant or /// catch every error (though that is the goal). See the `_unchecked` variants for previous /// behavior. pubfn root_with_opts<'opts, 'buf, T>(
opts: &'opts VerifierOptions,
data: &'buf [u8],
) -> Result<T::Inner, InvalidFlatbuffer> where
T: 'buf + Follow<'buf> + Verifiable,
{ letmut v = Verifier::new(opts, data);
<ForwardsUOffset<T>>::run_verifier(&mut v, 0)?; // Safety: // Run verifier above
Ok(unsafe { root_unchecked::<T>(data) })
}
#[inline] /// Gets the root of a size prefixed Flatbuffer, verifying it first with default options. /// Note that verification is an experimental feature and may not be maximally performant or /// catch every error (though that is the goal). See the `_unchecked` variants for previous /// behavior. pubfn size_prefixed_root<'buf, T>(data: &'buf [u8]) -> Result<T::Inner, InvalidFlatbuffer> where
T: 'buf + Follow<'buf> + Verifiable,
{ let opts = VerifierOptions::default();
size_prefixed_root_with_opts::<T>(&opts, data)
}
#[inline] /// Gets the root of a size prefixed Flatbuffer, verifying it first with given options. /// Note that verification is an experimental feature and may not be maximally performant or /// catch every error (though that is the goal). See the `_unchecked` variants for previous /// behavior. pubfn size_prefixed_root_with_opts<'opts, 'buf, T>(
opts: &'opts VerifierOptions,
data: &'buf [u8],
) -> Result<T::Inner, InvalidFlatbuffer> where
T: 'buf + Follow<'buf> + Verifiable,
{ letmut v = Verifier::new(opts, data);
<SkipSizePrefix<ForwardsUOffset<T>>>::run_verifier(&mut v, 0)?; // Safety: // Run verifier above
Ok(unsafe { size_prefixed_root_unchecked::<T>(data) })
}
#[inline] /// Gets root for a trusted Flatbuffer. /// # Safety /// Flatbuffers accessors do not perform validation checks before accessing. Unlike the other /// `root` functions, this does not validate the flatbuffer before returning the accessor. Users /// must trust `data` contains a valid flatbuffer (e.g. b/c it was built by your software). Reading /// unchecked buffers may cause panics or even UB. pubunsafefn root_unchecked<'buf, T>(data: &'buf [u8]) -> T::Inner where
T: Follow<'buf> + 'buf,
{
<ForwardsUOffset<T>>::follow(data, 0)
}
#[inline] /// Gets root for a trusted, size prefixed, Flatbuffer. /// # Safety /// Flatbuffers accessors do not perform validation checks before accessing. Unlike the other /// `root` functions, this does not validate the flatbuffer before returning the accessor. Users /// must trust `data` contains a valid flatbuffer (e.g. b/c it was built by your software). Reading /// unchecked buffers may cause panics or even UB. pubunsafefn size_prefixed_root_unchecked<'buf, T>(data: &'buf [u8]) -> T::Inner where
T: Follow<'buf> + 'buf,
{
<SkipSizePrefix<ForwardsUOffset<T>>>::follow(data, 0)
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.