Struct neure::map::FromLeBytes

source ·
pub struct FromLeBytes<T>(/* private fields */);

Implementations§

source§

impl<T> FromLeBytes<T>

source

pub fn new() -> Self

source

pub const fn size(&self) -> usize

Trait Implementations§

source§

impl<T> Clone for FromLeBytes<T>

source§

fn clone(&self) -> Self

Returns a copy 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<T: Debug> Debug for FromLeBytes<T>

source§

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

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

impl<T> Default for FromLeBytes<T>

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'a> MapSingle<&'a [u8], f32> for FromLeBytes<f32>

source§

fn map_to(&self, val: &'a [u8]) -> Result<f32, Error>

source§

fn size(&self) -> usize

source§

impl<'a> MapSingle<&'a [u8], f64> for FromLeBytes<f64>

source§

fn map_to(&self, val: &'a [u8]) -> Result<f64, Error>

source§

fn size(&self) -> usize

source§

impl<'a> MapSingle<&'a [u8], i128> for FromLeBytes<i128>

source§

fn map_to(&self, val: &'a [u8]) -> Result<i128, Error>

source§

fn size(&self) -> usize

source§

impl<'a> MapSingle<&'a [u8], i16> for FromLeBytes<i16>

source§

fn map_to(&self, val: &'a [u8]) -> Result<i16, Error>

source§

fn size(&self) -> usize

source§

impl<'a> MapSingle<&'a [u8], i32> for FromLeBytes<i32>

source§

fn map_to(&self, val: &'a [u8]) -> Result<i32, Error>

source§

fn size(&self) -> usize

source§

impl<'a> MapSingle<&'a [u8], i64> for FromLeBytes<i64>

source§

fn map_to(&self, val: &'a [u8]) -> Result<i64, Error>

source§

fn size(&self) -> usize

source§

impl<'a> MapSingle<&'a [u8], i8> for FromLeBytes<i8>

source§

fn map_to(&self, val: &'a [u8]) -> Result<i8, Error>

source§

fn size(&self) -> usize

source§

impl<'a> MapSingle<&'a [u8], isize> for FromLeBytes<isize>

source§

fn map_to(&self, val: &'a [u8]) -> Result<isize, Error>

source§

fn size(&self) -> usize

source§

impl<'a> MapSingle<&'a [u8], u128> for FromLeBytes<u128>

source§

fn map_to(&self, val: &'a [u8]) -> Result<u128, Error>

source§

fn size(&self) -> usize

source§

impl<'a> MapSingle<&'a [u8], u16> for FromLeBytes<u16>

source§

fn map_to(&self, val: &'a [u8]) -> Result<u16, Error>

source§

fn size(&self) -> usize

source§

impl<'a> MapSingle<&'a [u8], u32> for FromLeBytes<u32>

source§

fn map_to(&self, val: &'a [u8]) -> Result<u32, Error>

source§

fn size(&self) -> usize

source§

impl<'a> MapSingle<&'a [u8], u64> for FromLeBytes<u64>

source§

fn map_to(&self, val: &'a [u8]) -> Result<u64, Error>

source§

fn size(&self) -> usize

source§

impl<'a> MapSingle<&'a [u8], u8> for FromLeBytes<u8>

source§

fn map_to(&self, val: &'a [u8]) -> Result<u8, Error>

source§

fn size(&self) -> usize

source§

impl<'a> MapSingle<&'a [u8], usize> for FromLeBytes<usize>

source§

fn map_to(&self, val: &'a [u8]) -> Result<usize, Error>

source§

fn size(&self) -> usize

source§

impl<T: Ord> Ord for FromLeBytes<T>

source§

fn cmp(&self, other: &FromLeBytes<T>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl<T: PartialEq> PartialEq for FromLeBytes<T>

source§

fn eq(&self, other: &FromLeBytes<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T: PartialOrd> PartialOrd for FromLeBytes<T>

source§

fn partial_cmp(&self, other: &FromLeBytes<T>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl<T: Copy> Copy for FromLeBytes<T>

source§

impl<T: Eq> Eq for FromLeBytes<T>

source§

impl<T> StructuralPartialEq for FromLeBytes<T>

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for FromLeBytes<T>
where T: RefUnwindSafe,

§

impl<T> Send for FromLeBytes<T>
where T: Send,

§

impl<T> Sync for FromLeBytes<T>
where T: Sync,

§

impl<T> Unpin for FromLeBytes<T>
where T: Unpin,

§

impl<T> UnwindSafe for FromLeBytes<T>
where T: UnwindSafe,

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> ConstructIntoOp for T

source§

fn into_box(self) -> WrappedTy<BoxedCtor<T>>

Return a type that wraps Ctor with Box.

§Example
    let re = b'+'
        .or(b'-')
        .then(u8::is_ascii_hexdigit)
        .then(u8::is_ascii_hexdigit.repeat_times::<3>())
        .pat()
        .map(|v: &[u8]| String::from_utf8(v.to_vec()).map_err(|_| Error::Uid(0)))
        .into_box();

    assert_eq!(BytesCtx::new(b"+AE00").ctor(&re)?, "+AE00");
    assert!(BytesCtx::new(b"-GH66").ctor(&re).is_err());
    assert_eq!(BytesCtx::new(b"-83FD").ctor(&re)?, "-83FD");
    Ok(())
source§

fn into_rc(self) -> WrappedTy<Rc<T>>

Return a type that wrap Ctor with Rc.

§Example
    color_eyre::install()?;
    let year = char::is_ascii_digit.repeat_times::<4>();
    let num = char::is_ascii_digit.repeat_times::<2>();
    let date = year.sep_once("-", num.sep_once("-", num)).into_rc();
    let time = num.sep_once(":", num.sep_once(":", num));
    let datetime = date.clone().sep_once(" ", time);

    assert_eq!(
        CharsCtx::new("2024-01-08").ctor(&date)?,
        ("2024", ("01", "08"))
    );
    assert_eq!(
        CharsCtx::new("2024-01-08 10:01:13").ctor(&datetime)?,
        (("2024", ("01", "08")), ("10", ("01", "13")))
    );
    Ok(())
source§

fn into_dyn<'a, 'b, C, M, O, H, A>( self ) -> WrappedTy<DynamicBoxedCtor<'a, 'b, C, M, O, H, A>>
where C: Context<'a> + Match<C>, T: Ctor<'a, C, M, O, H, A> + 'b,

§Example 2
    color_eyre::install()?;
    let num = u8::is_ascii_digit
        .repeat_one()
        .map(|v: &[u8]| String::from_utf8(v.to_vec()).map_err(|_| Error::Uid(0)))
        .map(map::from_str::<usize>());
    let num = num.clone().sep_once(b",", num);
    let re = num.into_dyn();

    assert_eq!(BytesCtx::new(b"3,0").ctor(&re)?, (3, 0));
    assert_eq!(BytesCtx::new(b"2,1").ctor(&re)?, (2, 1));
    assert_eq!(BytesCtx::new(b"0,3").ctor(&re)?, (0, 3));
    Ok(())
source§

fn into_arc(self) -> WrappedTy<Arc<T>>

source§

fn into_cell(self) -> WrappedTy<Cell<T>>

source§

fn into_refcell(self) -> WrappedTy<RefCell<T>>

source§

fn into_mutex(self) -> WrappedTy<Mutex<T>>

source§

fn into_dyn_sync<'a, 'b, C, M, O, H, A>( self ) -> WrappedTy<DynamicBoxedCtorSync<'a, 'b, C, M, O, H, A>>
where C: Context<'a> + Match<C>, T: Ctor<'a, C, M, O, H, A> + Send + 'b,

source§

fn into_dyn_arc<'a, 'b, C, M, O, H, A>( self ) -> WrappedTy<DynamicArcCtor<'a, 'b, C, M, O, H, A>>
where C: Context<'a> + Match<C>, T: Ctor<'a, C, M, O, H, A> + 'b,

source§

fn into_dyn_rc<'a, 'b, C, M, O, H, A>( self ) -> WrappedTy<DynamicRcCtor<'a, 'b, C, M, O, H, A>>
where C: Context<'a> + Match<C>, T: Ctor<'a, C, M, O, H, A> + 'b,

source§

impl<'a, C, T> DynamicCreateCtorThenHelper<'a, C> for T
where C: Context<'a> + Match<C>,

source§

fn dyn_then_ctor<F>(self, func: F) -> DynamicCreateCtorThen<C, T, F>

Construct a new regex with Ctor implementation based on previous result.

§Example
    let num = u8::is_ascii_digit
        .repeat_one()
        .map(|v: &[u8]| String::from_utf8(v.to_vec()).map_err(|_| Error::Uid(0)))
        .map(map::from_str::<usize>());
    let num = num.clone().sep_once(b",", num);
    let re = num.dyn_then_ctor(|a: &(usize, usize)| {
        // leave the a's type empty cause rustc reject compile
        Ok(b'+'
            .repeat_range(a.0..a.0 + 1)
            .then(b'-'.repeat_range(a.1..a.1 + 1)))
    });

    assert_eq!(
        BytesCtx::new(b"3,0+++").ctor(&re)?,
        ((3, 0), ([43, 43, 43].as_slice(), [].as_slice()))
    );
    assert_eq!(
        BytesCtx::new(b"2,1++-").ctor(&re)?,
        ((2, 1), ([43, 43].as_slice(), [45].as_slice()))
    );
    assert_eq!(
        BytesCtx::new(b"0,3---").ctor(&re)?,
        ((0, 3), ([].as_slice(), [45, 45, 45].as_slice()))
    );
    Ok(())
source§

impl<'a, C, T> DynamicCreateRegexThenHelper<'a, C> for T
where C: Context<'a> + Match<C>,

source§

fn dyn_then_regex<F>(self, func: F) -> DynamicCreateRegexThen<C, T, F>

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> RegexIntoOp for T

source§

fn into_box_regex(self) -> WrappedTy<BoxedRegex<T>>

source§

fn into_rc_regex(self) -> WrappedTy<Rc<T>>

source§

fn into_arc_regex(self) -> WrappedTy<Arc<T>>

source§

fn into_cell_regex(self) -> WrappedTy<Cell<T>>

source§

fn into_refcell_regex(self) -> WrappedTy<RefCell<T>>

source§

fn into_mutex_regex(self) -> WrappedTy<Mutex<T>>

source§

fn into_dyn_regex<'a, 'b, C>( self ) -> WrappedTy<DynamicBoxedRegex<'b, C, <T as Regex<C>>::Ret>>
where C: Context<'a>, T: Regex<C> + 'b,

source§

fn into_dyn_arc_regex<'a, 'b, C>( self ) -> WrappedTy<DynamicArcRegex<'b, C, <T as Regex<C>>::Ret>>
where C: Context<'a>, T: Regex<C> + 'b,

source§

fn into_dyn_rc_regex<'a, 'b, C>( self ) -> WrappedTy<DynamicRcRegex<'b, C, <T as Regex<C>>::Ret>>
where C: Context<'a>, T: Regex<C> + 'b,

source§

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

§

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>,

§

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>,

§

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.
source§

impl<T> MayDebug for T