pub struct UnorderedNTuple<T, const N: usize>(pub [T; N]);
Expand description
A type which represents an unordered tuple of N elements (i.e. an unordered pair if N == 2, and unordered triplet if N == 3, and so on).
Two UnorderedNTuple
s are equivalent if their elements are equivalent in any order, for
example:
assert_eq!(UnorderedNTuple([0, 3, 5]), UnorderedNTuple([5, 0, 3]));
Tuple Fields§
§0: [T; N]
Trait Implementations§
Source§impl<T: Clone, const N: usize> Clone for UnorderedNTuple<T, N>
impl<T: Clone, const N: usize> Clone for UnorderedNTuple<T, N>
Source§fn clone(&self) -> UnorderedNTuple<T, N>
fn clone(&self) -> UnorderedNTuple<T, N>
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<'de, T: Deserialize<'de>, const N: usize> Deserialize<'de> for UnorderedNTuple<T, N>
impl<'de, T: Deserialize<'de>, const N: usize> Deserialize<'de> for UnorderedNTuple<T, N>
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<T> From<UnorderedNTuple<T, 2>> for (T, T)
impl<T> From<UnorderedNTuple<T, 2>> for (T, T)
Source§fn from(pair: UnorderedPair<T>) -> (T, T)
fn from(pair: UnorderedPair<T>) -> (T, T)
Converts to this type from the input type.
Source§impl<T, const N: usize> From<UnorderedNTuple<T, N>> for [T; N]
impl<T, const N: usize> From<UnorderedNTuple<T, N>> for [T; N]
Source§fn from(arg: UnorderedNTuple<T, N>) -> Self
fn from(arg: UnorderedNTuple<T, N>) -> Self
Converts to this type from the input type.
Source§impl<T, const N: usize> Hash for UnorderedNTuple<T, N>
impl<T, const N: usize> Hash for UnorderedNTuple<T, N>
impl<T: Copy, const N: usize> Copy for UnorderedNTuple<T, N>
impl<T: Eq, const N: usize> Eq for UnorderedNTuple<T, N>
Auto Trait Implementations§
impl<T, const N: usize> Freeze for UnorderedNTuple<T, N>where
T: Freeze,
impl<T, const N: usize> RefUnwindSafe for UnorderedNTuple<T, N>where
T: RefUnwindSafe,
impl<T, const N: usize> Send for UnorderedNTuple<T, N>where
T: Send,
impl<T, const N: usize> Sync for UnorderedNTuple<T, N>where
T: Sync,
impl<T, const N: usize> Unpin for UnorderedNTuple<T, N>where
T: Unpin,
impl<T, const N: usize> UnwindSafe for UnorderedNTuple<T, N>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