use core::num::{NonZeroI8, NonZeroI16, NonZeroI32, NonZeroI64, NonZeroI128,NonZeroIsize, NonZeroU8, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU128, NonZeroUsize};
use crate::{IncDecExt, non_zero_pp, non_zero_signed_mm, non_zero_signed_try_mm, non_zero_try_pp, non_zero_unsigned_mm, non_zero_unsigned_try_mm};
impl IncDecExt for NonZeroI8
{
fn pp(&mut self) -> Self
{
non_zero_pp!(self, i8)
}
fn try_pp(&mut self) -> Option<Self>
{
non_zero_try_pp!(self, i8)
}
fn mm(&mut self) -> Self
{
non_zero_signed_mm!(self, i8)
}
fn try_mm(&mut self) -> Option<Self>
{
non_zero_signed_try_mm!(self, i8)
}
}
impl IncDecExt for NonZeroI16
{
fn pp(&mut self) -> Self
{
non_zero_pp!(self, i16)
}
fn try_pp(&mut self) -> Option<Self>
{
non_zero_try_pp!(self, i16) }
fn mm(&mut self) -> Self
{
non_zero_signed_mm!(self, i16)
}
fn try_mm(&mut self) -> Option<Self>
{
non_zero_signed_try_mm!(self, i16)
}
}
impl IncDecExt for NonZeroI32
{
fn pp(&mut self) -> Self
{
non_zero_pp!(self, i32)
}
fn try_pp(&mut self) -> Option<Self>
{
non_zero_try_pp!(self, i32) }
fn mm(&mut self) -> Self
{
non_zero_signed_mm!(self, i32)
}
fn try_mm(&mut self) -> Option<Self>
{
non_zero_signed_try_mm!(self, i32)
}
}
impl IncDecExt for NonZeroI64
{
fn pp(&mut self) -> Self
{
non_zero_pp!(self, i64)
}
fn try_pp(&mut self) -> Option<Self>
{
non_zero_try_pp!(self, i64) }
fn mm(&mut self) -> Self
{
non_zero_signed_mm!(self, i64)
}
fn try_mm(&mut self) -> Option<Self>
{
non_zero_signed_try_mm!(self, i64)
}
}
impl IncDecExt for NonZeroI128
{
fn pp(&mut self) -> Self
{
non_zero_pp!(self, i128)
}
fn try_pp(&mut self) -> Option<Self>
{
non_zero_try_pp!(self, i128) }
fn mm(&mut self) -> Self
{
non_zero_signed_mm!(self, i128)
}
fn try_mm(&mut self) -> Option<Self>
{
non_zero_signed_try_mm!(self, i128)
}
}
impl IncDecExt for NonZeroIsize
{
fn pp(&mut self) -> Self
{
non_zero_pp!(self, isize)
}
fn try_pp(&mut self) -> Option<Self>
{
non_zero_try_pp!(self, isize) }
fn mm(&mut self) -> Self
{
non_zero_signed_mm!(self, isize)
}
fn try_mm(&mut self) -> Option<Self>
{
non_zero_signed_try_mm!(self, isize)
}
}
impl IncDecExt for NonZeroU8
{
fn pp(&mut self) -> Self
{
non_zero_pp!(self, u8)
}
fn try_pp(&mut self) -> Option<Self>
{
non_zero_try_pp!(self, u8) }
fn mm(&mut self) -> Self
{
non_zero_unsigned_mm!(self, u8)
}
fn try_mm(&mut self) -> Option<Self>
{
non_zero_unsigned_try_mm!(self, u8)
}
}
impl IncDecExt for NonZeroU16
{
fn pp(&mut self) -> Self
{
non_zero_pp!(self, u16)
}
fn try_pp(&mut self) -> Option<Self>
{
non_zero_try_pp!(self, u16) }
fn mm(&mut self) -> Self
{
non_zero_unsigned_mm!(self, u16)
}
fn try_mm(&mut self) -> Option<Self>
{
non_zero_unsigned_try_mm!(self, u16)
}
}
impl IncDecExt for NonZeroU32
{
fn pp(&mut self) -> Self
{
non_zero_pp!(self, u32)
}
fn try_pp(&mut self) -> Option<Self>
{
non_zero_try_pp!(self, u32) }
fn mm(&mut self) -> Self
{
non_zero_unsigned_mm!(self, u32)
}
fn try_mm(&mut self) -> Option<Self>
{
non_zero_unsigned_try_mm!(self, u32)
}
}
impl IncDecExt for NonZeroU64
{
fn pp(&mut self) -> Self
{
non_zero_pp!(self, u64)
}
fn try_pp(&mut self) -> Option<Self>
{
non_zero_try_pp!(self, u64) }
fn mm(&mut self) -> Self
{
non_zero_unsigned_mm!(self, u64)
}
fn try_mm(&mut self) -> Option<Self>
{
non_zero_unsigned_try_mm!(self, u64)
}
}
impl IncDecExt for NonZeroU128
{
fn pp(&mut self) -> Self
{
non_zero_pp!(self, u128)
}
fn try_pp(&mut self) -> Option<Self>
{
non_zero_try_pp!(self, u128) }
fn mm(&mut self) -> Self
{
non_zero_unsigned_mm!(self, u128)
}
fn try_mm(&mut self) -> Option<Self>
{
non_zero_unsigned_try_mm!(self, u128)
}
}
impl IncDecExt for NonZeroUsize
{
fn pp(&mut self) -> Self
{
non_zero_pp!(self, usize)
}
fn try_pp(&mut self) -> Option<Self>
{
non_zero_try_pp!(self, usize) }
fn mm(&mut self) -> Self
{
non_zero_unsigned_mm!(self, usize)
}
fn try_mm(&mut self) -> Option<Self>
{
non_zero_unsigned_try_mm!(self, usize)
}
}