Function rkyv::validation::check_archived_value [−][src]
pub fn check_archived_value<T: Archive>(
buf: &[u8],
pos: usize
) -> Result<&T::Archived, CheckTypeError<T::Archived, DefaultArchiveValidator>> where
T::Archived: CheckBytes<DefaultArchiveValidator>,
Expand description
Checks the given archive at the given position for an archived version of the given type.
This is a safe alternative to archived_value
for types that implement
CheckBytes
.
Example
use rkyv::{ check_archived_value, ser::{Serializer, serializers::AlignedSerializer}, AlignedVec, Archive, Serialize, }; use bytecheck::CheckBytes; #[derive(Archive, Serialize)] #[archive(derive(CheckBytes))] struct Example { name: String, value: i32, } let value = Example { name: "pi".to_string(), value: 31415926, }; let mut serializer = AlignedSerializer::new(AlignedVec::new()); let pos = serializer.serialize_value(&value) .expect("failed to archive test"); let buf = serializer.into_inner(); let archived = check_archived_value::<Example>(buf.as_ref(), pos).unwrap();