blart

Trait OrderedBytes

Source
pub unsafe trait OrderedBytes: AsBytes + Ord { }
Expand description

This trait is used to mark types where the lexicographic ordering of their byte representation (as output by AsBytes::as_bytes) matches their normal ordering (as determined by Ord).

§Safety

  • This trait can only be implemented if the above condition holds.

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 OrderedBytes for str

Source§

impl OrderedBytes for u8

SAFETY: Since u8 is a single byte, there are no concerns about endian ordering

Source§

impl OrderedBytes for CString

Source§

impl OrderedBytes for String

Source§

impl OrderedBytes for Vec<u8>

SAFETY: Same reasoning as the OrderedBytes for [u8]

Source§

impl OrderedBytes for CStr

Source§

impl OrderedBytes for OsStr

Source§

impl OrderedBytes for OsString

Source§

impl OrderedBytes for Path

Source§

impl OrderedBytes for PathBuf

Source§

impl OrderedBytes for [u8]

SAFETY: The lexicographic ordering of [u8; N] converted to bytes is the same as its normal representation.

Source§

impl<'a, B> OrderedBytes for Cow<'a, B>
where B: OrderedBytes + 'a + ToOwned + ?Sized, Cow<'a, B>: AsBytes,

Source§

impl<T> OrderedBytes for &T
where T: OrderedBytes + ?Sized,

Source§

impl<T> OrderedBytes for &mut T
where T: OrderedBytes + ?Sized,

Source§

impl<T> OrderedBytes for Box<T>
where T: OrderedBytes + ?Sized,

Source§

impl<T> OrderedBytes for Rc<T>
where T: OrderedBytes + ?Sized,

Source§

impl<T> OrderedBytes for Arc<T>
where T: OrderedBytes + ?Sized,

Source§

impl<T> OrderedBytes for ManuallyDrop<T>
where T: OrderedBytes + ?Sized,

Source§

impl<const N: usize> OrderedBytes for [u8; N]

SAFETY: The lexicographic ordering of [u8; N] converted to bytes is the same as its normal representation.

Implementors§

Source§

impl OrderedBytes for Mapped<ToIBE, i8>

Source§

impl OrderedBytes for Mapped<ToIBE, i16>

Source§

impl OrderedBytes for Mapped<ToIBE, i32>

Source§

impl OrderedBytes for Mapped<ToIBE, i64>

Source§

impl OrderedBytes for Mapped<ToIBE, i128>

Source§

impl OrderedBytes for Mapped<ToIBE, isize>

Source§

impl OrderedBytes for Mapped<ToIBE, Box<[i8]>>

Source§

impl OrderedBytes for Mapped<ToIBE, Box<[i16]>>

Source§

impl OrderedBytes for Mapped<ToIBE, Box<[i32]>>

Source§

impl OrderedBytes for Mapped<ToIBE, Box<[i64]>>

Source§

impl OrderedBytes for Mapped<ToIBE, Box<[i128]>>

Source§

impl OrderedBytes for Mapped<ToIBE, Box<[isize]>>

Source§

impl OrderedBytes for Mapped<ToIBE, Box<[NonZeroI8]>>

Source§

impl OrderedBytes for Mapped<ToIBE, Box<[NonZeroI16]>>

Source§

impl OrderedBytes for Mapped<ToIBE, Box<[NonZeroI32]>>

Source§

impl OrderedBytes for Mapped<ToIBE, Box<[NonZeroI64]>>

Source§

impl OrderedBytes for Mapped<ToIBE, Box<[NonZeroI128]>>

Source§

impl OrderedBytes for Mapped<ToIBE, Box<[NonZeroIsize]>>

Source§

impl OrderedBytes for Mapped<ToIBE, Vec<i8>>

Source§

impl OrderedBytes for Mapped<ToIBE, Vec<i16>>

Source§

impl OrderedBytes for Mapped<ToIBE, Vec<i32>>

Source§

impl OrderedBytes for Mapped<ToIBE, Vec<i64>>

Source§

impl OrderedBytes for Mapped<ToIBE, Vec<i128>>

Source§

impl OrderedBytes for Mapped<ToIBE, Vec<isize>>

Source§

impl OrderedBytes for Mapped<ToIBE, Vec<NonZeroI8>>

Source§

impl OrderedBytes for Mapped<ToIBE, Vec<NonZeroI16>>

Source§

impl OrderedBytes for Mapped<ToIBE, Vec<NonZeroI32>>

Source§

impl OrderedBytes for Mapped<ToIBE, Vec<NonZeroI64>>

Source§

impl OrderedBytes for Mapped<ToIBE, Vec<NonZeroI128>>

Source§

impl OrderedBytes for Mapped<ToIBE, Vec<NonZeroIsize>>

Source§

impl OrderedBytes for Mapped<ToIBE, NonZeroI8>

Source§

impl OrderedBytes for Mapped<ToIBE, NonZeroI16>

Source§

impl OrderedBytes for Mapped<ToIBE, NonZeroI32>

Source§

impl OrderedBytes for Mapped<ToIBE, NonZeroI64>

Source§

impl OrderedBytes for Mapped<ToIBE, NonZeroI128>

Source§

impl OrderedBytes for Mapped<ToIBE, NonZeroIsize>

Source§

impl OrderedBytes for Mapped<ToOctets, Ipv4Addr>

Source§

impl OrderedBytes for Mapped<ToOctets, Ipv6Addr>

Source§

impl OrderedBytes for Mapped<ToUBE, u8>

Source§

impl OrderedBytes for Mapped<ToUBE, u16>

Source§

impl OrderedBytes for Mapped<ToUBE, u32>

Source§

impl OrderedBytes for Mapped<ToUBE, u64>

Source§

impl OrderedBytes for Mapped<ToUBE, u128>

Source§

impl OrderedBytes for Mapped<ToUBE, usize>

Source§

impl OrderedBytes for Mapped<ToUBE, Box<[u8]>>

Source§

impl OrderedBytes for Mapped<ToUBE, Box<[u16]>>

Source§

impl OrderedBytes for Mapped<ToUBE, Box<[u32]>>

Source§

impl OrderedBytes for Mapped<ToUBE, Box<[u64]>>

Source§

impl OrderedBytes for Mapped<ToUBE, Box<[u128]>>

Source§

impl OrderedBytes for Mapped<ToUBE, Box<[usize]>>

Source§

impl OrderedBytes for Mapped<ToUBE, Box<[NonZeroU8]>>

Source§

impl OrderedBytes for Mapped<ToUBE, Box<[NonZeroU16]>>

Source§

impl OrderedBytes for Mapped<ToUBE, Box<[NonZeroU32]>>

Source§

impl OrderedBytes for Mapped<ToUBE, Box<[NonZeroU64]>>

Source§

impl OrderedBytes for Mapped<ToUBE, Box<[NonZeroU128]>>

Source§

impl OrderedBytes for Mapped<ToUBE, Box<[NonZeroUsize]>>

Source§

impl OrderedBytes for Mapped<ToUBE, Vec<u8>>

Source§

impl OrderedBytes for Mapped<ToUBE, Vec<u16>>

Source§

impl OrderedBytes for Mapped<ToUBE, Vec<u32>>

Source§

impl OrderedBytes for Mapped<ToUBE, Vec<u64>>

Source§

impl OrderedBytes for Mapped<ToUBE, Vec<u128>>

Source§

impl OrderedBytes for Mapped<ToUBE, Vec<usize>>

Source§

impl OrderedBytes for Mapped<ToUBE, Vec<NonZeroU8>>

Source§

impl OrderedBytes for Mapped<ToUBE, Vec<NonZeroU16>>

Source§

impl OrderedBytes for Mapped<ToUBE, Vec<NonZeroU32>>

Source§

impl OrderedBytes for Mapped<ToUBE, Vec<NonZeroU64>>

Source§

impl OrderedBytes for Mapped<ToUBE, Vec<NonZeroU128>>

Source§

impl OrderedBytes for Mapped<ToUBE, Vec<NonZeroUsize>>

Source§

impl OrderedBytes for Mapped<ToUBE, NonZeroU8>

Source§

impl OrderedBytes for Mapped<ToUBE, NonZeroU16>

Source§

impl OrderedBytes for Mapped<ToUBE, NonZeroU32>

Source§

impl OrderedBytes for Mapped<ToUBE, NonZeroU64>

Source§

impl OrderedBytes for Mapped<ToUBE, NonZeroU128>

Source§

impl OrderedBytes for Mapped<ToUBE, NonZeroUsize>

Source§

impl<T0, MT0, T1, MT1> OrderedBytes for Mapped<ConcatTuple<(MT0, MT1)>, (T0, T1)>

Source§

impl<T0, MT0, T1, MT1, T2, MT2> OrderedBytes for Mapped<ConcatTuple<(MT0, MT1, MT2)>, (T0, T1, T2)>

Source§

impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3> OrderedBytes for Mapped<ConcatTuple<(MT0, MT1, MT2, MT3)>, (T0, T1, T2, T3)>

Source§

impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4> OrderedBytes for Mapped<ConcatTuple<(MT0, MT1, MT2, MT3, MT4)>, (T0, T1, T2, T3, T4)>

Source§

impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5> OrderedBytes for Mapped<ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5)>, (T0, T1, T2, T3, T4, T5)>

Source§

impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6> OrderedBytes for Mapped<ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6)>, (T0, T1, T2, T3, T4, T5, T6)>

Source§

impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7> OrderedBytes for Mapped<ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7)>, (T0, T1, T2, T3, T4, T5, T6, T7)>

Source§

impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7, T8, MT8> OrderedBytes for Mapped<ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7, MT8)>, (T0, T1, T2, T3, T4, T5, T6, T7, T8)>

Source§

impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7, T8, MT8, T9, MT9> OrderedBytes for Mapped<ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7, MT8, MT9)>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>

Source§

impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7, T8, MT8, T9, MT9, T10, MT10> OrderedBytes for Mapped<ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7, MT8, MT9, MT10)>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>

Source§

impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7, T8, MT8, T9, MT9, T10, MT10, T11, MT11> OrderedBytes for Mapped<ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7, MT8, MT9, MT10, MT11)>, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>

Source§

impl<T: OrderedBytes> OrderedBytes for DebugAsDisplay<T>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToIBE, [i8; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToIBE, [i16; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToIBE, [i32; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToIBE, [i64; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToIBE, [i128; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToIBE, [isize; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToIBE, [NonZeroI8; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToIBE, [NonZeroI16; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToIBE, [NonZeroI32; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToIBE, [NonZeroI64; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToIBE, [NonZeroI128; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToIBE, [NonZeroIsize; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToUBE, [u8; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToUBE, [u16; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToUBE, [u32; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToUBE, [u64; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToUBE, [u128; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToUBE, [usize; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToUBE, [NonZeroU8; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToUBE, [NonZeroU16; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToUBE, [NonZeroU32; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToUBE, [NonZeroU64; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToUBE, [NonZeroU128; N]>

Source§

impl<const N: usize> OrderedBytes for Mapped<ToUBE, [NonZeroUsize; N]>