Skip to main content

DeepValidator

Trait DeepValidator 

Source
pub trait DeepValidator: Validator {
    // Required method
    fn is_valid_deep(&self, buffer: &[u8]) -> bool;
}
Available on crate feature zero-copy only.
Expand description

A trait for deep validation of zero-copy structures, recursively checking all pointers.

Required Methods§

Source

fn is_valid_deep(&self, buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementations on Foreign Types§

Source§

impl DeepValidator for bool

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for char

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for f32

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for f64

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for i8

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for i16

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for i32

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for i64

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for i128

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for isize

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for u8

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for u16

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for u32

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for u64

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for u128

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl DeepValidator for usize

Source§

fn is_valid_deep(&self, _buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Source§

impl<T: ZeroCopy + DeepValidator, const N: usize> DeepValidator for [T; N]

Source§

fn is_valid_deep(&self, buffer: &[u8]) -> bool

Performs a deep validation check on the relative pointer.

Implementors§

Source§

impl<E: Endian> DeepValidator for ZeroStr<E>

Source§

impl<T: ZeroCopy + DeepValidator, const ALIGN: usize, E: Endian> DeepValidator for RelativePtr<T, ALIGN, E>

Source§

impl<T: ZeroCopy + DeepValidator, const ALIGN: usize, E: Endian> DeepValidator for ZeroSlice<T, ALIGN, E>

Source§

impl<T: ZeroCopy + DeepValidator, const N: usize, const ALIGN: usize, E: Endian> DeepValidator for ZeroArray<T, N, ALIGN, E>

Source§

impl<const CAP: usize, E: Endian> DeepValidator for ZeroString<CAP, E>