#[repr(transparent)]pub struct Complement<T>(pub T);
Expand description
Bit-set wrapper that acts like set complement.
Effectively inverses all bits in the underlying bit-set.
Tuple Fields§
§0: T
Implementations§
Source§impl<T> Complement<T>
impl<T> Complement<T>
Source§impl<T> Complement<Complement<T>>
impl<T> Complement<Complement<T>>
Sourcepub fn double_complement_unwrap(self) -> T
pub fn double_complement_unwrap(self) -> T
Convenience function to unwrap double Complement
wrapper which must yield bitset with same bits set.
Trait Implementations§
Source§impl<T> BitComplement for Complement<T>
impl<T> BitComplement for Complement<T>
Source§impl<const N: usize> BitDifference<Complement<[u128; N]>> for [u128; N]
impl<const N: usize> BitDifference<Complement<[u128; N]>> for [u128; N]
type Output = [u128; N]
Source§fn difference(self, rhs: Complement<Self>) -> Self
fn difference(self, rhs: Complement<Self>) -> Self
Returns bit-set has bits set for each index that has bit set in exactly one of two arguments.
Source§impl<const N: usize> BitDifference<Complement<[u16; N]>> for [u16; N]
impl<const N: usize> BitDifference<Complement<[u16; N]>> for [u16; N]
type Output = [u16; N]
Source§fn difference(self, rhs: Complement<Self>) -> Self
fn difference(self, rhs: Complement<Self>) -> Self
Returns bit-set has bits set for each index that has bit set in exactly one of two arguments.
Source§impl<const N: usize> BitDifference<Complement<[u32; N]>> for [u32; N]
impl<const N: usize> BitDifference<Complement<[u32; N]>> for [u32; N]
type Output = [u32; N]
Source§fn difference(self, rhs: Complement<Self>) -> Self
fn difference(self, rhs: Complement<Self>) -> Self
Returns bit-set has bits set for each index that has bit set in exactly one of two arguments.
Source§impl<const N: usize> BitDifference<Complement<[u64; N]>> for [u64; N]
impl<const N: usize> BitDifference<Complement<[u64; N]>> for [u64; N]
type Output = [u64; N]
Source§fn difference(self, rhs: Complement<Self>) -> Self
fn difference(self, rhs: Complement<Self>) -> Self
Returns bit-set has bits set for each index that has bit set in exactly one of two arguments.
Source§impl<const N: usize> BitDifference<Complement<[u8; N]>> for [u8; N]
impl<const N: usize> BitDifference<Complement<[u8; N]>> for [u8; N]
type Output = [u8; N]
Source§fn difference(self, rhs: Complement<Self>) -> Self
fn difference(self, rhs: Complement<Self>) -> Self
Returns bit-set has bits set for each index that has bit set in exactly one of two arguments.
Source§impl BitDifference<Complement<bool>> for bool
impl BitDifference<Complement<bool>> for bool
type Output = bool
Source§fn difference(self, rhs: Complement<Self>) -> Self
fn difference(self, rhs: Complement<Self>) -> Self
Returns bit-set has bits set for each index that has bit set in exactly one of two arguments.
Source§impl BitDifference<Complement<u128>> for u128
impl BitDifference<Complement<u128>> for u128
type Output = u128
Source§fn difference(self, rhs: Complement<Self>) -> Self
fn difference(self, rhs: Complement<Self>) -> Self
Returns bit-set has bits set for each index that has bit set in exactly one of two arguments.
Source§impl BitDifference<Complement<u16>> for u16
impl BitDifference<Complement<u16>> for u16
type Output = u16
Source§fn difference(self, rhs: Complement<Self>) -> Self
fn difference(self, rhs: Complement<Self>) -> Self
Returns bit-set has bits set for each index that has bit set in exactly one of two arguments.
Source§impl BitDifference<Complement<u32>> for u32
impl BitDifference<Complement<u32>> for u32
type Output = u32
Source§fn difference(self, rhs: Complement<Self>) -> Self
fn difference(self, rhs: Complement<Self>) -> Self
Returns bit-set has bits set for each index that has bit set in exactly one of two arguments.
Source§impl BitDifference<Complement<u64>> for u64
impl BitDifference<Complement<u64>> for u64
type Output = u64
Source§fn difference(self, rhs: Complement<Self>) -> Self
fn difference(self, rhs: Complement<Self>) -> Self
Returns bit-set has bits set for each index that has bit set in exactly one of two arguments.
Source§impl BitDifference<Complement<u8>> for u8
impl BitDifference<Complement<u8>> for u8
type Output = u8
Source§fn difference(self, rhs: Complement<Self>) -> Self
fn difference(self, rhs: Complement<Self>) -> Self
Returns bit-set has bits set for each index that has bit set in exactly one of two arguments.
Source§impl<T, U> BitDifference<U> for Complement<T>where
T: BitUnion<U>,
impl<T, U> BitDifference<U> for Complement<T>where
T: BitUnion<U>,
type Output = Complement<<T as BitUnion<U>>::Output>
Source§fn difference(self, rhs: U) -> Self::Output
fn difference(self, rhs: U) -> Self::Output
Returns bit-set has bits set for each index that has bit set in exactly one of two arguments.
Source§impl<const N: usize> BitDisjoint<Complement<[u128; N]>> for [u128; N]
impl<const N: usize> BitDisjoint<Complement<[u128; N]>> for [u128; N]
Source§fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is disjoint with rhs
.Source§impl<const N: usize> BitDisjoint<Complement<[u16; N]>> for [u16; N]
impl<const N: usize> BitDisjoint<Complement<[u16; N]>> for [u16; N]
Source§fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is disjoint with rhs
.Source§impl<const N: usize> BitDisjoint<Complement<[u32; N]>> for [u32; N]
impl<const N: usize> BitDisjoint<Complement<[u32; N]>> for [u32; N]
Source§fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is disjoint with rhs
.Source§impl<const N: usize> BitDisjoint<Complement<[u64; N]>> for [u64; N]
impl<const N: usize> BitDisjoint<Complement<[u64; N]>> for [u64; N]
Source§fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is disjoint with rhs
.Source§impl<const N: usize> BitDisjoint<Complement<[u8; N]>> for [u8; N]
impl<const N: usize> BitDisjoint<Complement<[u8; N]>> for [u8; N]
Source§fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is disjoint with rhs
.Source§impl BitDisjoint<Complement<bool>> for bool
impl BitDisjoint<Complement<bool>> for bool
Source§fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is disjoint with rhs
.Source§impl BitDisjoint<Complement<u128>> for u128
impl BitDisjoint<Complement<u128>> for u128
Source§fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is disjoint with rhs
.Source§impl BitDisjoint<Complement<u16>> for u16
impl BitDisjoint<Complement<u16>> for u16
Source§fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is disjoint with rhs
.Source§impl BitDisjoint<Complement<u32>> for u32
impl BitDisjoint<Complement<u32>> for u32
Source§fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is disjoint with rhs
.Source§impl BitDisjoint<Complement<u64>> for u64
impl BitDisjoint<Complement<u64>> for u64
Source§fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is disjoint with rhs
.Source§impl BitDisjoint<Complement<u8>> for u8
impl BitDisjoint<Complement<u8>> for u8
Source§fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
fn is_disjoint(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is disjoint with rhs
.Source§impl<T, U> BitDisjoint<U> for Complement<T>where
U: BitSubset<T>,
impl<T, U> BitDisjoint<U> for Complement<T>where
U: BitSubset<T>,
Source§fn is_disjoint(&self, rhs: &U) -> bool
fn is_disjoint(&self, rhs: &U) -> bool
Returns true if
self
is disjoint with rhs
.Source§impl<T> BitEmpty for Complement<T>where
T: BitFull,
impl<T> BitEmpty for Complement<T>where
T: BitFull,
Source§impl<T> BitFull for Complement<T>where
T: BitEmpty,
impl<T> BitFull for Complement<T>where
T: BitEmpty,
Source§impl<const N: usize> BitIntersection<Complement<[u128; N]>> for [u128; N]
impl<const N: usize> BitIntersection<Complement<[u128; N]>> for [u128; N]
type Output = [u128; N]
Source§fn intersection(self, rhs: Complement<Self>) -> Self
fn intersection(self, rhs: Complement<Self>) -> Self
Returns bit-set with bits set for each index that has bit set in either of two arguments.
Source§impl<const N: usize> BitIntersection<Complement<[u16; N]>> for [u16; N]
impl<const N: usize> BitIntersection<Complement<[u16; N]>> for [u16; N]
type Output = [u16; N]
Source§fn intersection(self, rhs: Complement<Self>) -> Self
fn intersection(self, rhs: Complement<Self>) -> Self
Returns bit-set with bits set for each index that has bit set in either of two arguments.
Source§impl<const N: usize> BitIntersection<Complement<[u32; N]>> for [u32; N]
impl<const N: usize> BitIntersection<Complement<[u32; N]>> for [u32; N]
type Output = [u32; N]
Source§fn intersection(self, rhs: Complement<Self>) -> Self
fn intersection(self, rhs: Complement<Self>) -> Self
Returns bit-set with bits set for each index that has bit set in either of two arguments.
Source§impl<const N: usize> BitIntersection<Complement<[u64; N]>> for [u64; N]
impl<const N: usize> BitIntersection<Complement<[u64; N]>> for [u64; N]
type Output = [u64; N]
Source§fn intersection(self, rhs: Complement<Self>) -> Self
fn intersection(self, rhs: Complement<Self>) -> Self
Returns bit-set with bits set for each index that has bit set in either of two arguments.
Source§impl<const N: usize> BitIntersection<Complement<[u8; N]>> for [u8; N]
impl<const N: usize> BitIntersection<Complement<[u8; N]>> for [u8; N]
type Output = [u8; N]
Source§fn intersection(self, rhs: Complement<Self>) -> Self
fn intersection(self, rhs: Complement<Self>) -> Self
Returns bit-set with bits set for each index that has bit set in either of two arguments.
Source§impl BitIntersection<Complement<bool>> for bool
impl BitIntersection<Complement<bool>> for bool
type Output = bool
Source§fn intersection(self, rhs: Complement<Self>) -> Self
fn intersection(self, rhs: Complement<Self>) -> Self
Returns bit-set with bits set for each index that has bit set in either of two arguments.
Source§impl BitIntersection<Complement<u128>> for u128
impl BitIntersection<Complement<u128>> for u128
type Output = u128
Source§fn intersection(self, rhs: Complement<Self>) -> Self
fn intersection(self, rhs: Complement<Self>) -> Self
Returns bit-set with bits set for each index that has bit set in either of two arguments.
Source§impl BitIntersection<Complement<u16>> for u16
impl BitIntersection<Complement<u16>> for u16
type Output = u16
Source§fn intersection(self, rhs: Complement<Self>) -> Self
fn intersection(self, rhs: Complement<Self>) -> Self
Returns bit-set with bits set for each index that has bit set in either of two arguments.
Source§impl BitIntersection<Complement<u32>> for u32
impl BitIntersection<Complement<u32>> for u32
type Output = u32
Source§fn intersection(self, rhs: Complement<Self>) -> Self
fn intersection(self, rhs: Complement<Self>) -> Self
Returns bit-set with bits set for each index that has bit set in either of two arguments.
Source§impl BitIntersection<Complement<u64>> for u64
impl BitIntersection<Complement<u64>> for u64
type Output = u64
Source§fn intersection(self, rhs: Complement<Self>) -> Self
fn intersection(self, rhs: Complement<Self>) -> Self
Returns bit-set with bits set for each index that has bit set in either of two arguments.
Source§impl BitIntersection<Complement<u8>> for u8
impl BitIntersection<Complement<u8>> for u8
type Output = u8
Source§fn intersection(self, rhs: Complement<Self>) -> Self
fn intersection(self, rhs: Complement<Self>) -> Self
Returns bit-set with bits set for each index that has bit set in either of two arguments.
Source§impl<T, U> BitIntersection<U> for Complement<T>where
U: BitDifference<T>,
impl<T, U> BitIntersection<U> for Complement<T>where
U: BitDifference<T>,
type Output = <U as BitDifference<T>>::Output
Source§fn intersection(self, rhs: U) -> Self::Output
fn intersection(self, rhs: U) -> Self::Output
Returns bit-set with bits set for each index that has bit set in either of two arguments.
Source§impl<T> BitSearch for Complement<Complement<T>>where
T: BitSearch,
impl<T> BitSearch for Complement<Complement<T>>where
T: BitSearch,
Source§fn find_first_set(&self, lower_bound: usize) -> Option<usize>
fn find_first_set(&self, lower_bound: usize) -> Option<usize>
Searches for first bit set starting with
lower_bound
.
Returns index of first bit set. Read moreSource§fn find_set_in_range<R>(&self, range: R) -> Option<usize>where
R: RangeBounds<usize>,
fn find_set_in_range<R>(&self, range: R) -> Option<usize>where
R: RangeBounds<usize>,
Searches for bit set specified range.
Returns index of bit set. Read more
Source§impl<T> BitSet for Complement<T>where
T: BitUnset,
impl<T> BitSet for Complement<T>where
T: BitUnset,
Source§impl<T> BitSetLimit for Complement<T>where
T: BitUnsetLimit,
impl<T> BitSetLimit for Complement<T>where
T: BitUnsetLimit,
Source§const MAX_SET_INDEX: usize = T::MAX_UNSET_INDEX
const MAX_SET_INDEX: usize = T::MAX_UNSET_INDEX
Largest possible bit index that can be set.
Any larger index will always be unset.
Setting larger index is now allowed. Read more
Source§impl<const N: usize> BitSubset<Complement<[u128; N]>> for [u128; N]
impl<const N: usize> BitSubset<Complement<[u128; N]>> for [u128; N]
Source§fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is subset of rhs
.Source§impl<const N: usize> BitSubset<Complement<[u16; N]>> for [u16; N]
impl<const N: usize> BitSubset<Complement<[u16; N]>> for [u16; N]
Source§fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is subset of rhs
.Source§impl<const N: usize> BitSubset<Complement<[u32; N]>> for [u32; N]
impl<const N: usize> BitSubset<Complement<[u32; N]>> for [u32; N]
Source§fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is subset of rhs
.Source§impl<const N: usize> BitSubset<Complement<[u64; N]>> for [u64; N]
impl<const N: usize> BitSubset<Complement<[u64; N]>> for [u64; N]
Source§fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is subset of rhs
.Source§impl<const N: usize> BitSubset<Complement<[u8; N]>> for [u8; N]
impl<const N: usize> BitSubset<Complement<[u8; N]>> for [u8; N]
Source§fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is subset of rhs
.Source§impl BitSubset<Complement<bool>> for bool
impl BitSubset<Complement<bool>> for bool
Source§fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is subset of rhs
.Source§impl BitSubset<Complement<u128>> for u128
impl BitSubset<Complement<u128>> for u128
Source§fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is subset of rhs
.Source§impl BitSubset<Complement<u16>> for u16
impl BitSubset<Complement<u16>> for u16
Source§fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is subset of rhs
.Source§impl BitSubset<Complement<u32>> for u32
impl BitSubset<Complement<u32>> for u32
Source§fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is subset of rhs
.Source§impl BitSubset<Complement<u64>> for u64
impl BitSubset<Complement<u64>> for u64
Source§fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is subset of rhs
.Source§impl BitSubset<Complement<u8>> for u8
impl BitSubset<Complement<u8>> for u8
Source§fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
fn is_subset_of(&self, rhs: &Complement<Self>) -> bool
Returns true if
self
is subset of rhs
.Source§impl<T> BitTest for Complement<T>where
T: BitTest,
impl<T> BitTest for Complement<T>where
T: BitTest,
Source§impl<T> BitTestAll for Complement<T>where
T: BitTestNone,
impl<T> BitTestAll for Complement<T>where
T: BitTestNone,
Source§impl<T> BitTestNone for Complement<T>where
T: BitTestAll,
impl<T> BitTestNone for Complement<T>where
T: BitTestAll,
Source§impl<const N: usize> BitUnion<Complement<[u128; N]>> for [u128; N]
impl<const N: usize> BitUnion<Complement<[u128; N]>> for [u128; N]
type Output = Complement<[u128; N]>
Source§fn union(self, rhs: Complement<Self>) -> Complement<Self>
fn union(self, rhs: Complement<Self>) -> Complement<Self>
Returns bit-set with bits set for each index that has bit set in both of two arguments.
Source§impl<const N: usize> BitUnion<Complement<[u16; N]>> for [u16; N]
impl<const N: usize> BitUnion<Complement<[u16; N]>> for [u16; N]
type Output = Complement<[u16; N]>
Source§fn union(self, rhs: Complement<Self>) -> Complement<Self>
fn union(self, rhs: Complement<Self>) -> Complement<Self>
Returns bit-set with bits set for each index that has bit set in both of two arguments.
Source§impl<const N: usize> BitUnion<Complement<[u32; N]>> for [u32; N]
impl<const N: usize> BitUnion<Complement<[u32; N]>> for [u32; N]
type Output = Complement<[u32; N]>
Source§fn union(self, rhs: Complement<Self>) -> Complement<Self>
fn union(self, rhs: Complement<Self>) -> Complement<Self>
Returns bit-set with bits set for each index that has bit set in both of two arguments.
Source§impl<const N: usize> BitUnion<Complement<[u64; N]>> for [u64; N]
impl<const N: usize> BitUnion<Complement<[u64; N]>> for [u64; N]
type Output = Complement<[u64; N]>
Source§fn union(self, rhs: Complement<Self>) -> Complement<Self>
fn union(self, rhs: Complement<Self>) -> Complement<Self>
Returns bit-set with bits set for each index that has bit set in both of two arguments.
Source§impl<const N: usize> BitUnion<Complement<[u8; N]>> for [u8; N]
impl<const N: usize> BitUnion<Complement<[u8; N]>> for [u8; N]
type Output = Complement<[u8; N]>
Source§fn union(self, rhs: Complement<Self>) -> Complement<Self>
fn union(self, rhs: Complement<Self>) -> Complement<Self>
Returns bit-set with bits set for each index that has bit set in both of two arguments.
Source§impl BitUnion<Complement<bool>> for bool
impl BitUnion<Complement<bool>> for bool
type Output = Complement<bool>
Source§fn union(self, rhs: Complement<Self>) -> Complement<Self>
fn union(self, rhs: Complement<Self>) -> Complement<Self>
Returns bit-set with bits set for each index that has bit set in both of two arguments.
Source§impl BitUnion<Complement<u128>> for u128
impl BitUnion<Complement<u128>> for u128
type Output = Complement<u128>
Source§fn union(self, rhs: Complement<Self>) -> Complement<Self>
fn union(self, rhs: Complement<Self>) -> Complement<Self>
Returns bit-set with bits set for each index that has bit set in both of two arguments.
Source§impl BitUnion<Complement<u16>> for u16
impl BitUnion<Complement<u16>> for u16
type Output = Complement<u16>
Source§fn union(self, rhs: Complement<Self>) -> Complement<Self>
fn union(self, rhs: Complement<Self>) -> Complement<Self>
Returns bit-set with bits set for each index that has bit set in both of two arguments.
Source§impl BitUnion<Complement<u32>> for u32
impl BitUnion<Complement<u32>> for u32
type Output = Complement<u32>
Source§fn union(self, rhs: Complement<Self>) -> Complement<Self>
fn union(self, rhs: Complement<Self>) -> Complement<Self>
Returns bit-set with bits set for each index that has bit set in both of two arguments.
Source§impl BitUnion<Complement<u64>> for u64
impl BitUnion<Complement<u64>> for u64
type Output = Complement<u64>
Source§fn union(self, rhs: Complement<Self>) -> Complement<Self>
fn union(self, rhs: Complement<Self>) -> Complement<Self>
Returns bit-set with bits set for each index that has bit set in both of two arguments.
Source§impl BitUnion<Complement<u8>> for u8
impl BitUnion<Complement<u8>> for u8
type Output = Complement<u8>
Source§fn union(self, rhs: Complement<Self>) -> Complement<Self>
fn union(self, rhs: Complement<Self>) -> Complement<Self>
Returns bit-set with bits set for each index that has bit set in both of two arguments.
Source§impl<T, U> BitUnion<U> for Complement<T>where
T: BitDifference<U>,
impl<T, U> BitUnion<U> for Complement<T>where
T: BitDifference<U>,
type Output = Complement<<T as BitDifference<U>>::Output>
Source§impl<T> BitUnset for Complement<T>where
T: BitSet,
impl<T> BitUnset for Complement<T>where
T: BitSet,
Source§impl<T> BitUnsetLimit for Complement<T>where
T: BitSetLimit,
impl<T> BitUnsetLimit for Complement<T>where
T: BitSetLimit,
Source§const MAX_UNSET_INDEX: usize = T::MAX_SET_INDEX
const MAX_UNSET_INDEX: usize = T::MAX_SET_INDEX
Largest possible bit index that can be unset.
Any larger index will always be set.
Unsetting larger index is now allowed. Read more
Source§impl<T: Clone> Clone for Complement<T>
impl<T: Clone> Clone for Complement<T>
Source§fn clone(&self) -> Complement<T>
fn clone(&self) -> Complement<T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<T: Debug> Debug for Complement<T>
impl<T: Debug> Debug for Complement<T>
Source§impl<T: Default> Default for Complement<T>
impl<T: Default> Default for Complement<T>
Source§fn default() -> Complement<T>
fn default() -> Complement<T>
Returns the “default value” for a type. Read more
Source§impl<T> Display for Complement<T>where
T: Display,
impl<T> Display for Complement<T>where
T: Display,
Source§impl<T: Hash> Hash for Complement<T>
impl<T: Hash> Hash for Complement<T>
Source§impl<T: PartialEq> PartialEq for Complement<T>
impl<T: PartialEq> PartialEq for Complement<T>
impl<T: Copy> Copy for Complement<T>
impl<T: Eq> Eq for Complement<T>
impl<T> StructuralPartialEq for Complement<T>
Auto Trait Implementations§
impl<T> Freeze for Complement<T>where
T: Freeze,
impl<T> RefUnwindSafe for Complement<T>where
T: RefUnwindSafe,
impl<T> Send for Complement<T>where
T: Send,
impl<T> Sync for Complement<T>where
T: Sync,
impl<T> Unpin for Complement<T>where
T: Unpin,
impl<T> UnwindSafe for Complement<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more