Enum DecodingResult

#[non_exhaustive]
pub enum DecodingResult

A simple enum that can hold decode results of most images

Variants

U8(Vec<u8>)
U16(Vec<u16>)
F32(Vec<f32>)

Implementations

impl DecodingResult

fn u8(self) -> Option<Vec<u8>>

Return the contents if the enum stores Vec<u8> or otherwise return None.

Useful for de-sugaring the result of a decoding operation into raw bytes

Example

use zune_core::result::DecodingResult;
let data = DecodingResult::U8(vec![0;100]);
// we know this won't fail because we created it with u8
assert!(data.u8().is_some());

let data = DecodingResult::U16(vec![0;100]);
// it should now return nothing since the type is u18
assert!(data.u8().is_none());

fn u16(self) -> Option<Vec<u16>>

Return the contents if the enum stores Vec<u16> or otherwise return None.

Useful for de-sugaring the result of a decoding operation into raw bytes

Example

use zune_core::result::DecodingResult;
let data = DecodingResult::U8(vec![0;100]);
// we know this will fail because we created it with u16
assert!(data.u16().is_none());


let data = DecodingResult::U16(vec![0;100]);
// it should now return something since the type is u16
assert!(data.u16().is_some());

Auto Trait Implementations

impl Freeze for DecodingResult

impl RefUnwindSafe for DecodingResult

impl Send for DecodingResult

impl Sync for DecodingResult

impl Unpin for DecodingResult

impl UnsafeUnpin for DecodingResult

impl UnwindSafe for DecodingResult

Blanket Implementations

impl<T> Any for DecodingResult where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for DecodingResult where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for DecodingResult where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> From<T> for DecodingResult

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into<U> for DecodingResult where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for DecodingResult where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for DecodingResult where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>