SparsableTrait

Trait SparsableTrait 

Source
pub trait SparsableTrait {
    // Required method
    fn sparse_init(
        &mut self,
        state: &mut SparseState,
        metadata: &SparseMetadata,
        depth: u32,
    ) -> Result<(), SparseError>;

    // Provided methods
    fn sparse_updt(
        &mut self,
        state: &mut SparseState,
        metadata: &SparseMetadata,
        depth: u32,
    ) -> Result<(), SparseError> { ... }
    fn check_depth(&self, depth: u32) -> Result<(), SparseError> { ... }
}
Expand description

§Implements base to be parsed by Sparse

Required Methods§

Source

fn sparse_init( &mut self, state: &mut SparseState, metadata: &SparseMetadata, depth: u32, ) -> Result<(), SparseError>

Initialize recusively a Sparsable pointer

Provided Methods§

Source

fn sparse_updt( &mut self, state: &mut SparseState, metadata: &SparseMetadata, depth: u32, ) -> Result<(), SparseError>

Update recusively a Sparsable pointer

Source

fn check_depth(&self, depth: u32) -> Result<(), SparseError>

Check if the current depth isn’t too much. This is the cyclic pointer protection mechanism

Implementations on Foreign Types§

Source§

impl Sparsable for Value

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for bool

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for char

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for f32

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for f64

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for i8

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for i16

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for i32

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for i64

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for i128

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for isize

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for u8

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for u16

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for u32

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for u64

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for usize

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for CString

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl Sparsable for String

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl<'a> Sparsable for &'a str

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl<'a> Sparsable for &'a [u8]

Source§

fn sparse_init( &mut self, _state: &mut SparseState, _metadata: &SparseMetadata, _depth: u32, ) -> Result<(), SparseError>

Source§

impl<K, V> Sparsable for HashMap<K, V>
where V: Sparsable,

Source§

fn sparse_init( &mut self, state: &mut SparseState, metadata: &SparseMetadata, depth: u32, ) -> Result<(), SparseError>

Source§

impl<T> Sparsable for Option<T>

Source§

fn sparse_init( &mut self, state: &mut SparseState, metadata: &SparseMetadata, depth: u32, ) -> Result<(), SparseError>

Source§

fn sparse_updt( &mut self, state: &mut SparseState, metadata: &SparseMetadata, depth: u32, ) -> Result<(), SparseError>

Source§

impl<T> Sparsable for LinkedList<T>
where T: Sparsable,

Source§

fn sparse_init( &mut self, state: &mut SparseState, metadata: &SparseMetadata, depth: u32, ) -> Result<(), SparseError>

Source§

impl<T> Sparsable for VecDeque<T>
where T: Sparsable,

Source§

fn sparse_init( &mut self, state: &mut SparseState, metadata: &SparseMetadata, depth: u32, ) -> Result<(), SparseError>

Source§

impl<T> Sparsable for Vec<T>
where T: Sparsable,

Source§

fn sparse_init( &mut self, state: &mut SparseState, metadata: &SparseMetadata, depth: u32, ) -> Result<(), SparseError>

Implementors§