strict_encoding

Trait StrictDecode

Source
pub trait StrictDecode: StrictType {
    // Required method
    fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>;

    // Provided method
    fn strict_read(reader: impl ReadRaw) -> Result<Self, DecodeError> { ... }
}

Required Methods§

Source

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Provided Methods§

Source

fn strict_read(reader: impl ReadRaw) -> Result<Self, DecodeError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl StrictDecode for bool

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for i8

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for i16

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for i32

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for i64

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for i128

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u8

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u16

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u32

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u64

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u128

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for ()

Source§

fn strict_decode(_reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for i256

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for i512

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for i1024

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u256

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u512

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u1024

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u1

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u2

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u3

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u4

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u5

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u6

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u7

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u24

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u40

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u48

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for u56

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for NonZeroU8

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for NonZeroU16

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for NonZeroU32

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for NonZeroU64

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for NonZeroU128

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for Double

Available on crate feature float only.
Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for Half

Available on crate feature float only.
Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for Oct

Available on crate feature float only.
Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for Quad

Available on crate feature float only.
Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for Single

Available on crate feature float only.
Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl StrictDecode for X87DoubleExtended

Available on crate feature float only.
Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl<A: StrictDecode + Default, B: StrictDecode + Default> StrictDecode for (A, B)

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl<A: StrictDecode + Default, B: StrictDecode + Default, C: StrictDecode + Default> StrictDecode for (A, B, C)

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl<K: StrictDecode + Ord + Hash + StrictDumb, V: StrictDecode + StrictDumb, const MIN_LEN: usize, const MAX_LEN: usize> StrictDecode for Confined<BTreeMap<K, V>, MIN_LEN, MAX_LEN>

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl<T> StrictDecode for Box<T>
where T: StrictDecode,

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl<T> StrictDecode for PhantomData<T>

Source§

fn strict_decode(_reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl<T: StrictDecode + Ord, const MIN_LEN: usize, const MAX_LEN: usize> StrictDecode for Confined<BTreeSet<T>, MIN_LEN, MAX_LEN>

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl<T: StrictDecode + Copy + StrictDumb, const LEN: usize> StrictDecode for [T; LEN]

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl<T: StrictDecode + StrictDumb + Copy, const LEN: usize, const REVERSE_STR: bool> StrictDecode for Array<T, LEN, REVERSE_STR>

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl<T: StrictDecode> StrictDecode for Option<T>

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl<T: StrictDecode, const MIN_LEN: usize, const MAX_LEN: usize> StrictDecode for Confined<VecDeque<T>, MIN_LEN, MAX_LEN>

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl<T: StrictDecode, const MIN_LEN: usize, const MAX_LEN: usize> StrictDecode for Confined<Vec<T>, MIN_LEN, MAX_LEN>

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl<const MIN_LEN: usize, const MAX_LEN: usize> StrictDecode for Confined<String, MIN_LEN, MAX_LEN>

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Source§

impl<const MIN_LEN: usize, const MAX_LEN: usize> StrictDecode for Confined<AsciiString, MIN_LEN, MAX_LEN>

Source§

fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>

Implementors§

Source§

impl StrictDecode for Alpha

Source§

impl StrictDecode for AlphaCaps

Source§

impl StrictDecode for AlphaCapsDash

Source§

impl StrictDecode for AlphaCapsDot

Source§

impl StrictDecode for AlphaCapsLodash

Source§

impl StrictDecode for AlphaCapsNum

Source§

impl StrictDecode for AlphaDash

Source§

impl StrictDecode for AlphaDot

Source§

impl StrictDecode for AlphaLodash

Source§

impl StrictDecode for AlphaNum

Source§

impl StrictDecode for AlphaNumDash

Source§

impl StrictDecode for AlphaNumDot

Source§

impl StrictDecode for AlphaNumLodash

Source§

impl StrictDecode for AlphaSmall

Source§

impl StrictDecode for AlphaSmallDash

Source§

impl StrictDecode for AlphaSmallDot

Source§

impl StrictDecode for AlphaSmallLodash

Source§

impl StrictDecode for Bool

Source§

impl StrictDecode for Dec

Source§

impl StrictDecode for DecDot

Source§

impl StrictDecode for HexDecCaps

Source§

impl StrictDecode for HexDecSmall

Source§

impl StrictDecode for U1

Source§

impl StrictDecode for U2

Source§

impl StrictDecode for U3

Source§

impl StrictDecode for U4

Source§

impl StrictDecode for U5

Source§

impl StrictDecode for U6

Source§

impl StrictDecode for U7

Source§

impl StrictDecode for AsciiPrintable

Source§

impl StrictDecode for AsciiSym

Source§

impl StrictDecode for Byte

Source§

impl StrictDecode for FieldName

Source§

impl StrictDecode for Ident

Source§

impl StrictDecode for LibName

Source§

impl StrictDecode for Primitive

Source§

impl StrictDecode for Sizing

Source§

impl StrictDecode for TypeName

Source§

impl StrictDecode for Variant

Source§

impl StrictDecode for VariantName

Source§

impl<C1: RestrictedCharSet, C: RestrictedCharSet, const MIN_LEN: usize, const MAX_LEN: usize> StrictDecode for RString<C1, C, MIN_LEN, MAX_LEN>