Skip to main content

FactoryFuncCodeReader

Struct FactoryFuncCodeReader 

Source
pub struct FactoryFuncCodeReader<E: Endianness, CRF: CodesReaderFactoryHelper<E> + ?Sized>(/* private fields */);
Expand description

A newtype depending on a CodesReaderFactory and containing a function pointer dispatching the read method for a code.

It is essentially a version of FuncCodeReader that depends on a CodesReaderFactory and its associated CodesReaderFactory::CodesReader instead of a generic CodesRead.

Implementations§

Source§

impl<E: Endianness, CRF: CodesReaderFactoryHelper<E> + ?Sized> FactoryFuncCodeReader<E, CRF>

Source

pub const fn new(code: Codes) -> Result<Self, DispatchError>

Returns a new FactoryFuncCodeReader for the given code.

The code is canonicalized before the lookup, so equivalent codes yield the same reader.

§Errors

The method will return an error if there is no constant for the given code in FactoryFuncCodeReader.

Source

pub const fn new_with_func( read_func: for<'a> fn(&mut <CRF as CodesReaderFactory<E>>::CodesReader<'a>) -> Result<u64, <CRF as CodesReaderFactoryHelper<E>>::Error>, ) -> Self

Returns a new FactoryFuncCodeReader for the given function.

Source

pub const fn get_func( &self, ) -> for<'a> fn(&mut <CRF as CodesReaderFactory<E>>::CodesReader<'a>) -> Result<u64, <CRF as CodesReaderFactoryHelper<E>>::Error>

Returns the function pointer for the code.

Source

pub const fn get<'a>( &self, ) -> FuncCodeReader<E, <CRF as CodesReaderFactory<E>>::CodesReader<'a>>

Returns a FuncCodeReader compatible with CRF’s CodesReaderFactory::CodesReader for a given lifetime 'a.

Trait Implementations§

Source§

impl<E: Endianness, CRF: CodesReaderFactoryHelper<E> + ?Sized> Clone for FactoryFuncCodeReader<E, CRF>

Manually implement Clone to avoid the Clone bound on CRF and E.

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<E: Debug + Endianness, CRF: Debug + CodesReaderFactoryHelper<E> + ?Sized> Debug for FactoryFuncCodeReader<E, CRF>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<E: Copy + Endianness, CRF: Copy + CodesReaderFactoryHelper<E> + ?Sized> Copy for FactoryFuncCodeReader<E, CRF>

Auto Trait Implementations§

§

impl<E, CRF> Freeze for FactoryFuncCodeReader<E, CRF>
where CRF: ?Sized,

§

impl<E, CRF> RefUnwindSafe for FactoryFuncCodeReader<E, CRF>
where CRF: ?Sized,

§

impl<E, CRF> Send for FactoryFuncCodeReader<E, CRF>
where CRF: ?Sized,

§

impl<E, CRF> Sync for FactoryFuncCodeReader<E, CRF>
where CRF: ?Sized,

§

impl<E, CRF> Unpin for FactoryFuncCodeReader<E, CRF>
where CRF: ?Sized,

§

impl<E, CRF> UnsafeUnpin for FactoryFuncCodeReader<E, CRF>
where CRF: ?Sized,

§

impl<E, CRF> UnwindSafe for FactoryFuncCodeReader<E, CRF>
where CRF: ?Sized,

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

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

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.