Skip to main content

AltrepSerialize

Trait AltrepSerialize 

Source
pub trait AltrepSerialize: Sized {
    // Required methods
    fn serialized_state(&self) -> SEXP;
    fn unserialize(state: SEXP) -> Option<Self>;
}
Expand description

Trait for ALTREP types that support serialization.

Saving and loading come as a pair: a class that writes its own state must be able to rebuild itself from it, or readRDS() of a saved vector fails. That is why the trait needs Sized (and unserialize has no default), although AltrepExtract accepts unsized views. A type that can’t rebuild itself, such as a custom DST of runtime length, leaves serialization to R, which saves an ordinary vector.

Required Methods§

Source

fn serialized_state(&self) -> SEXP

Convert the ALTREP data to a serializable R object.

Source

fn unserialize(state: SEXP) -> Option<Self>

Reconstruct the ALTREP data from a serialized state.

Return None if the state is invalid or cannot be deserialized.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl AltrepSerialize for Box<[RLogical]>

Source§

impl AltrepSerialize for Box<[Rcomplex]>

Source§

impl AltrepSerialize for Box<[String]>

Source§

impl AltrepSerialize for Box<[bool]>

Source§

impl AltrepSerialize for Box<[f64]>

Source§

impl AltrepSerialize for Box<[i32]>

Source§

impl AltrepSerialize for Box<[u8]>

Source§

impl AltrepSerialize for Cow<'static, [RLogical]>

Source§

impl AltrepSerialize for Cow<'static, [Rcomplex]>

Source§

impl AltrepSerialize for Cow<'static, [f64]>

Source§

impl AltrepSerialize for Cow<'static, [i32]>

Source§

impl AltrepSerialize for Cow<'static, [u8]>

Source§

impl AltrepSerialize for Range<f64>

Source§

impl AltrepSerialize for Range<i32>

Source§

impl AltrepSerialize for Range<i64>

Source§

impl AltrepSerialize for Vec<Arc<str>>

Source§

impl AltrepSerialize for Vec<Box<str>>

Source§

impl AltrepSerialize for Vec<Cow<'static, str>>

Source§

impl AltrepSerialize for Vec<Option<Arc<str>>>

Source§

impl AltrepSerialize for Vec<Option<Box<str>>>

Source§

impl AltrepSerialize for Vec<Option<Cow<'static, str>>>

Source§

impl AltrepSerialize for Vec<Option<Rc<str>>>

Source§

impl AltrepSerialize for Vec<Option<String>>

Source§

impl AltrepSerialize for Vec<RLogical>

Source§

impl AltrepSerialize for Vec<Rc<str>>

Source§

impl AltrepSerialize for Vec<Rcomplex>

Source§

impl AltrepSerialize for Vec<String>

Source§

impl AltrepSerialize for Vec<bool>

Source§

impl AltrepSerialize for Vec<f64>

Source§

impl AltrepSerialize for Vec<i32>

Source§

impl AltrepSerialize for Vec<u8>

Source§

impl AltrepSerialize for VecDeque<Rcomplex>

Source§

impl AltrepSerialize for VecDeque<f64>

Source§

impl AltrepSerialize for VecDeque<i32>

Source§

impl AltrepSerialize for VecDeque<u8>

Implementors§