devela::data::collections

Trait Tuple

Source
pub trait Tuple: Sealed {
Show 39 associated items type Head; type Tail; type NoHead; type NoTail; type Append<T>; type Prepend<T>; type _0; type _1; type _2; type _3; type _4; type _5; type _6; type _7; type _8; type _9; type _10; type _11; const ARITY: usize; const MAX_ARITY: usize = 12usize; // Required methods fn head(&self) -> &Self::Head; fn tail(&self) -> &Self::Tail; fn head_mut(&mut self) -> &mut Self::Head; fn tail_mut(&mut self) -> &mut Self::Tail; fn split_head(self) -> (Self::Head, Self::NoHead) ; fn split_tail(self) -> (Self::NoTail, Self::Tail) ; fn no_head(self) -> Self::NoHead; fn no_tail(self) -> Self::NoTail; fn append<T>(self, value: T) -> Self::Append<T>; fn prepend<T>(self, value: T) -> Self::Prepend<T>; fn nth( self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>> ; fn nth_cloned( &self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>> where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone; fn nth_ref( &self, nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>> ; fn nth_mut( &mut self, nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>> ; fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11> ; fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11> ; fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11> ; // Provided methods fn arity(&self) -> usize { ... } fn fmt(&self) -> TupleFmt<'_, Self> where Self: Sized { ... }
}
Available on crate feature _tuple only.
Expand description

Extension trait providing convenience methods for tuples.

This trait is sealed and cannot be implemented for any other type.

Tuples are random-access, sequentially allocated, statically sized, heterogeneous data structures.

They enable structured grouping and access to a sequence of different types.

§Features

By default it’s implemented for tuples of arity of 12 or less. It supports increased arities of 24, 36, 48 and 72 by enabling the corresponding capability feature: _tuple_[24|36|48|72].

§Derived work

This is derived work from the tupl crate, including the following modifications:

  • impl for tuples of arity 12, 24, 36, 48 or 72, via features.
  • add the ARITY associated constant with the arity of the tuple.
  • add the MAX_ARITY associated constant with the maximum supported arity.
  • add a method fmt to wrap it in TupleFmt allowing to Display and Debug tuples.
  • remove the GrowableTuple and NonEmptyTuple traits, moving their methods to Tuple.
  • rename methods: truncate_head to split_head, truncate_tail to split_tail.
  • rename types: TruncateHead to NoHead, TruncateTail to NoTail.
  • add methods: nth, nth_clone, nth_ref, nth_mut.
  • add associated enums: TupleElement, TupleElementRef, TupleElementMut.
  • add one associated type per tuple index field.
  • rename the identifiers and other misc. refactoring.
  • replace the macro code generation with build script.

Required Associated Constants§

Source

const ARITY: usize

The arity of this tuple (the number of contained elements)

Provided Associated Constants§

Source

const MAX_ARITY: usize = 12usize

The maximum arity supported by the current compilation options.

See the available features to increase this number.

Required Associated Types§

Source

type Head

The first element of the tuple, at index 0.

Source

type Tail

The last element of the tuple, at index ARITY-1.

Source

type NoHead

This tuple without its head.

Source

type NoTail

This tuple without its tail.

Source

type Append<T>

This tuple with an extra element T appended to it.

Source

type Prepend<T>

This tuple with an extra element T prepended to it.

Source

type _0

The type of the element at index 0.

Source

type _1

The type of the element at index 1.

Source

type _2

The type of the element at index 2.

Source

type _3

The type of the element at index 3.

Source

type _4

The type of the element at index 4.

Source

type _5

The type of the element at index 5.

Source

type _6

The type of the element at index 6.

Source

type _7

The type of the element at index 7.

Source

type _8

The type of the element at index 8.

Source

type _9

The type of the element at index 9.

Source

type _10

The type of the element at index 10.

Source

type _11

The type of the element at index 11.

Required Methods§

Source

fn head(&self) -> &Self::Head

Returns a shared reference to the head of this tuple.

Source

fn tail(&self) -> &Self::Tail

Returns a shared reference to the tail of this tuple.

Source

fn head_mut(&mut self) -> &mut Self::Head

Returns an exclusive reference to the head of this tuple.

Source

fn tail_mut(&mut self) -> &mut Self::Tail

Returns an exclusive reference to the tail of this tuple.

Source

fn split_head(self) -> (Self::Head, Self::NoHead)

Returns this tuple with the head element splitted from the rest.

Source

fn split_tail(self) -> (Self::NoTail, Self::Tail)

Returns this tuple with the tail element splitted from the rest.

Source

fn no_head(self) -> Self::NoHead

Returns this tuple without the head.

Source

fn no_tail(self) -> Self::NoTail

Returns this tuple without the tail.

Source

fn append<T>(self, value: T) -> Self::Append<T>

Appends the given value to this tuple.

Source

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Prepends the given value to this tuple.

Source

fn nth( self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Returns the nth element, or None if nth >= ARITY.

Source

fn nth_cloned( &self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>
where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone,

Returns the nth element cloned, or None if nth >= ARITY.

Source

fn nth_ref( &self, nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Returns a shared reference to the nth element, or None if nth >= ARITY.

Source

fn nth_mut( &mut self, nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Returns an exclusive reference to the nth element, or None if nth >= ARITY.

Source

fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Returns an iterator over elements of the tuple.

Source

fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Returns an iterator over shared references to elements of the tuple.

Source

fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Returns an iterator over exclusive reference to elements of the tuple.

Provided Methods§

Source

fn arity(&self) -> usize

Returns the arity (number of elements) of this tuple.

Source

fn fmt(&self) -> TupleFmt<'_, Self>
where Self: Sized,

Wraps the tuple in a TupleFmt for formatting purposes.

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 Tuple for ()

Source§

const ARITY: usize = 0usize

Source§

type Head = ()

Source§

type Tail = ()

Source§

type NoHead = ()

Source§

type NoTail = ()

Source§

type Append<T> = (T,)

Source§

type Prepend<T> = (T,)

Source§

type _0 = ()

Source§

type _1 = ()

Source§

type _2 = ()

Source§

type _3 = ()

Source§

type _4 = ()

Source§

type _5 = ()

Source§

type _6 = ()

Source§

type _7 = ()

Source§

type _8 = ()

Source§

type _9 = ()

Source§

type _10 = ()

Source§

type _11 = ()

Source§

fn head(&self) -> &Self::Head

Source§

fn tail(&self) -> &Self::Tail

Source§

fn head_mut(&mut self) -> &mut Self::Head

Source§

fn tail_mut(&mut self) -> &mut Self::Tail

Source§

fn split_head(self) -> (Self::Head, Self::NoHead)

Source§

fn split_tail(self) -> (Self::NoTail, Self::Tail)

Source§

fn no_head(self) -> Self::NoHead

Source§

fn no_tail(self) -> Self::NoTail

Source§

fn append<T>(self, value: T) -> Self::Append<T>

Source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Source§

fn nth( self, _nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_cloned( &self, _nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>
where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone,

Source§

fn nth_ref( &self, _nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_mut( &mut self, _nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

impl<_0> Tuple for (_0,)

Source§

const ARITY: usize = 1usize

Source§

type Head = _0

Source§

type Tail = _0

Source§

type NoHead = ()

Source§

type NoTail = ()

Source§

type Append<T> = (_0, T)

Source§

type Prepend<T> = (T, _0)

Source§

type _0 = _0

Source§

type _1 = ()

Source§

type _2 = ()

Source§

type _3 = ()

Source§

type _4 = ()

Source§

type _5 = ()

Source§

type _6 = ()

Source§

type _7 = ()

Source§

type _8 = ()

Source§

type _9 = ()

Source§

type _10 = ()

Source§

type _11 = ()

Source§

fn head(&self) -> &Self::Head

Source§

fn tail(&self) -> &Self::Tail

Source§

fn head_mut(&mut self) -> &mut Self::Head

Source§

fn tail_mut(&mut self) -> &mut Self::Tail

Source§

fn split_head(self) -> (Self::Head, Self::NoHead)

Source§

fn split_tail(self) -> (Self::NoTail, Self::Tail)

Source§

fn no_head(self) -> Self::NoHead

Source§

fn no_tail(self) -> Self::NoTail

Source§

fn append<T>(self, value: T) -> Self::Append<T>

Source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Source§

fn nth( self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_cloned( &self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>
where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone,

Source§

fn nth_ref( &self, nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_mut( &mut self, nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

impl<_0, _1> Tuple for (_0, _1)

Source§

type Head = _0

The first element of the tuple, at index 0.

Source§

type Tail = _1

The last element of the tuple, at index ARITY-1.

Source§

type NoHead = (_1,)

.

Source§

type _0 = _0

The type of the element at index 0 (the first field).

Source§

type _1 = _1

The type of the element at index 1 (the last field).

Source§

type _2 = ()

Non-existing element with current arity.

Source§

type _3 = ()

Non-existing element with current arity.

Source§

type _4 = ()

Non-existing element with current arity.

Source§

type _5 = ()

Non-existing element with current arity.

Source§

type _6 = ()

Non-existing element with current arity.

Source§

type _7 = ()

Non-existing element with current arity.

Source§

type _8 = ()

Non-existing element with current arity.

Source§

type _9 = ()

Non-existing element with current arity.

Source§

type _10 = ()

Non-existing element with current arity.

Source§

type _11 = ()

Non-existing element with current arity.

Source§

const ARITY: usize = 2usize

Source§

type NoTail = (_0,)

Source§

type Append<T> = (_0, _1, T)

Source§

type Prepend<T> = (T, _0, _1)

Source§

fn head(&self) -> &Self::Head

Source§

fn tail(&self) -> &Self::Tail

Source§

fn head_mut(&mut self) -> &mut Self::Head

Source§

fn tail_mut(&mut self) -> &mut Self::Tail

Source§

fn split_head(self) -> (Self::Head, Self::NoHead)

Source§

fn split_tail(self) -> (Self::NoTail, Self::Tail)

Source§

fn no_head(self) -> Self::NoHead

Source§

fn no_tail(self) -> Self::NoTail

Source§

fn append<T>(self, value: T) -> Self::Append<T>

Source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Source§

fn nth( self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_cloned( &self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>
where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone,

Source§

fn nth_ref( &self, nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_mut( &mut self, nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

impl<_0, _1, _2> Tuple for (_0, _1, _2)

Source§

type Head = _0

The first element of the tuple, at index 0.

Source§

type Tail = _2

The last element of the tuple, at index ARITY-1.

Source§

type NoHead = (_1, _2)

.

Source§

type _0 = _0

The type of the element at index 0 (the first field).

Source§

type _1 = _1

The type of the element at index 1.

Source§

type _2 = _2

The type of the element at index 2 (the last field).

Source§

type _3 = ()

Non-existing element with current arity.

Source§

type _4 = ()

Non-existing element with current arity.

Source§

type _5 = ()

Non-existing element with current arity.

Source§

type _6 = ()

Non-existing element with current arity.

Source§

type _7 = ()

Non-existing element with current arity.

Source§

type _8 = ()

Non-existing element with current arity.

Source§

type _9 = ()

Non-existing element with current arity.

Source§

type _10 = ()

Non-existing element with current arity.

Source§

type _11 = ()

Non-existing element with current arity.

Source§

const ARITY: usize = 3usize

Source§

type NoTail = (_0, _1)

Source§

type Append<T> = (_0, _1, _2, T)

Source§

type Prepend<T> = (T, _0, _1, _2)

Source§

fn head(&self) -> &Self::Head

Source§

fn tail(&self) -> &Self::Tail

Source§

fn head_mut(&mut self) -> &mut Self::Head

Source§

fn tail_mut(&mut self) -> &mut Self::Tail

Source§

fn split_head(self) -> (Self::Head, Self::NoHead)

Source§

fn split_tail(self) -> (Self::NoTail, Self::Tail)

Source§

fn no_head(self) -> Self::NoHead

Source§

fn no_tail(self) -> Self::NoTail

Source§

fn append<T>(self, value: T) -> Self::Append<T>

Source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Source§

fn nth( self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_cloned( &self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>
where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone,

Source§

fn nth_ref( &self, nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_mut( &mut self, nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

impl<_0, _1, _2, _3> Tuple for (_0, _1, _2, _3)

Source§

type Head = _0

The first element of the tuple, at index 0.

Source§

type Tail = _3

The last element of the tuple, at index ARITY-1.

Source§

type NoHead = (_1, _2, _3)

.

Source§

type _0 = _0

The type of the element at index 0 (the first field).

Source§

type _1 = _1

The type of the element at index 1.

Source§

type _2 = _2

The type of the element at index 2.

Source§

type _3 = _3

The type of the element at index 3 (the last field).

Source§

type _4 = ()

Non-existing element with current arity.

Source§

type _5 = ()

Non-existing element with current arity.

Source§

type _6 = ()

Non-existing element with current arity.

Source§

type _7 = ()

Non-existing element with current arity.

Source§

type _8 = ()

Non-existing element with current arity.

Source§

type _9 = ()

Non-existing element with current arity.

Source§

type _10 = ()

Non-existing element with current arity.

Source§

type _11 = ()

Non-existing element with current arity.

Source§

const ARITY: usize = 4usize

Source§

type NoTail = (_0, _1, _2)

Source§

type Append<T> = (_0, _1, _2, _3, T)

Source§

type Prepend<T> = (T, _0, _1, _2, _3)

Source§

fn head(&self) -> &Self::Head

Source§

fn tail(&self) -> &Self::Tail

Source§

fn head_mut(&mut self) -> &mut Self::Head

Source§

fn tail_mut(&mut self) -> &mut Self::Tail

Source§

fn split_head(self) -> (Self::Head, Self::NoHead)

Source§

fn split_tail(self) -> (Self::NoTail, Self::Tail)

Source§

fn no_head(self) -> Self::NoHead

Source§

fn no_tail(self) -> Self::NoTail

Source§

fn append<T>(self, value: T) -> Self::Append<T>

Source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Source§

fn nth( self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_cloned( &self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>
where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone,

Source§

fn nth_ref( &self, nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_mut( &mut self, nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

impl<_0, _1, _2, _3, _4> Tuple for (_0, _1, _2, _3, _4)

Source§

type Head = _0

The first element of the tuple, at index 0.

Source§

type Tail = _4

The last element of the tuple, at index ARITY-1.

Source§

type NoHead = (_1, _2, _3, _4)

.

Source§

type _0 = _0

The type of the element at index 0 (the first field).

Source§

type _1 = _1

The type of the element at index 1.

Source§

type _2 = _2

The type of the element at index 2.

Source§

type _3 = _3

The type of the element at index 3.

Source§

type _4 = _4

The type of the element at index 4 (the last field).

Source§

type _5 = ()

Non-existing element with current arity.

Source§

type _6 = ()

Non-existing element with current arity.

Source§

type _7 = ()

Non-existing element with current arity.

Source§

type _8 = ()

Non-existing element with current arity.

Source§

type _9 = ()

Non-existing element with current arity.

Source§

type _10 = ()

Non-existing element with current arity.

Source§

type _11 = ()

Non-existing element with current arity.

Source§

const ARITY: usize = 5usize

Source§

type NoTail = (_0, _1, _2, _3)

Source§

type Append<T> = (_0, _1, _2, _3, _4, T)

Source§

type Prepend<T> = (T, _0, _1, _2, _3, _4)

Source§

fn head(&self) -> &Self::Head

Source§

fn tail(&self) -> &Self::Tail

Source§

fn head_mut(&mut self) -> &mut Self::Head

Source§

fn tail_mut(&mut self) -> &mut Self::Tail

Source§

fn split_head(self) -> (Self::Head, Self::NoHead)

Source§

fn split_tail(self) -> (Self::NoTail, Self::Tail)

Source§

fn no_head(self) -> Self::NoHead

Source§

fn no_tail(self) -> Self::NoTail

Source§

fn append<T>(self, value: T) -> Self::Append<T>

Source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Source§

fn nth( self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_cloned( &self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>
where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone,

Source§

fn nth_ref( &self, nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_mut( &mut self, nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

impl<_0, _1, _2, _3, _4, _5> Tuple for (_0, _1, _2, _3, _4, _5)

Source§

type Head = _0

The first element of the tuple, at index 0.

Source§

type Tail = _5

The last element of the tuple, at index ARITY-1.

Source§

type NoHead = (_1, _2, _3, _4, _5)

.

Source§

type _0 = _0

The type of the element at index 0 (the first field).

Source§

type _1 = _1

The type of the element at index 1.

Source§

type _2 = _2

The type of the element at index 2.

Source§

type _3 = _3

The type of the element at index 3.

Source§

type _4 = _4

The type of the element at index 4.

Source§

type _5 = _5

The type of the element at index 5 (the last field).

Source§

type _6 = ()

Non-existing element with current arity.

Source§

type _7 = ()

Non-existing element with current arity.

Source§

type _8 = ()

Non-existing element with current arity.

Source§

type _9 = ()

Non-existing element with current arity.

Source§

type _10 = ()

Non-existing element with current arity.

Source§

type _11 = ()

Non-existing element with current arity.

Source§

const ARITY: usize = 6usize

Source§

type NoTail = (_0, _1, _2, _3, _4)

Source§

type Append<T> = (_0, _1, _2, _3, _4, _5, T)

Source§

type Prepend<T> = (T, _0, _1, _2, _3, _4, _5)

Source§

fn head(&self) -> &Self::Head

Source§

fn tail(&self) -> &Self::Tail

Source§

fn head_mut(&mut self) -> &mut Self::Head

Source§

fn tail_mut(&mut self) -> &mut Self::Tail

Source§

fn split_head(self) -> (Self::Head, Self::NoHead)

Source§

fn split_tail(self) -> (Self::NoTail, Self::Tail)

Source§

fn no_head(self) -> Self::NoHead

Source§

fn no_tail(self) -> Self::NoTail

Source§

fn append<T>(self, value: T) -> Self::Append<T>

Source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Source§

fn nth( self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_cloned( &self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>
where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone,

Source§

fn nth_ref( &self, nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_mut( &mut self, nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

impl<_0, _1, _2, _3, _4, _5, _6> Tuple for (_0, _1, _2, _3, _4, _5, _6)

Source§

type Head = _0

The first element of the tuple, at index 0.

Source§

type Tail = _6

The last element of the tuple, at index ARITY-1.

Source§

type NoHead = (_1, _2, _3, _4, _5, _6)

.

Source§

type _0 = _0

The type of the element at index 0 (the first field).

Source§

type _1 = _1

The type of the element at index 1.

Source§

type _2 = _2

The type of the element at index 2.

Source§

type _3 = _3

The type of the element at index 3.

Source§

type _4 = _4

The type of the element at index 4.

Source§

type _5 = _5

The type of the element at index 5.

Source§

type _6 = _6

The type of the element at index 6 (the last field).

Source§

type _7 = ()

Non-existing element with current arity.

Source§

type _8 = ()

Non-existing element with current arity.

Source§

type _9 = ()

Non-existing element with current arity.

Source§

type _10 = ()

Non-existing element with current arity.

Source§

type _11 = ()

Non-existing element with current arity.

Source§

const ARITY: usize = 7usize

Source§

type NoTail = (_0, _1, _2, _3, _4, _5)

Source§

type Append<T> = (_0, _1, _2, _3, _4, _5, _6, T)

Source§

type Prepend<T> = (T, _0, _1, _2, _3, _4, _5, _6)

Source§

fn head(&self) -> &Self::Head

Source§

fn tail(&self) -> &Self::Tail

Source§

fn head_mut(&mut self) -> &mut Self::Head

Source§

fn tail_mut(&mut self) -> &mut Self::Tail

Source§

fn split_head(self) -> (Self::Head, Self::NoHead)

Source§

fn split_tail(self) -> (Self::NoTail, Self::Tail)

Source§

fn no_head(self) -> Self::NoHead

Source§

fn no_tail(self) -> Self::NoTail

Source§

fn append<T>(self, value: T) -> Self::Append<T>

Source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Source§

fn nth( self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_cloned( &self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>
where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone,

Source§

fn nth_ref( &self, nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_mut( &mut self, nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

impl<_0, _1, _2, _3, _4, _5, _6, _7> Tuple for (_0, _1, _2, _3, _4, _5, _6, _7)

Source§

type Head = _0

The first element of the tuple, at index 0.

Source§

type Tail = _7

The last element of the tuple, at index ARITY-1.

Source§

type NoHead = (_1, _2, _3, _4, _5, _6, _7)

.

Source§

type _0 = _0

The type of the element at index 0 (the first field).

Source§

type _1 = _1

The type of the element at index 1.

Source§

type _2 = _2

The type of the element at index 2.

Source§

type _3 = _3

The type of the element at index 3.

Source§

type _4 = _4

The type of the element at index 4.

Source§

type _5 = _5

The type of the element at index 5.

Source§

type _6 = _6

The type of the element at index 6.

Source§

type _7 = _7

The type of the element at index 7 (the last field).

Source§

type _8 = ()

Non-existing element with current arity.

Source§

type _9 = ()

Non-existing element with current arity.

Source§

type _10 = ()

Non-existing element with current arity.

Source§

type _11 = ()

Non-existing element with current arity.

Source§

const ARITY: usize = 8usize

Source§

type NoTail = (_0, _1, _2, _3, _4, _5, _6)

Source§

type Append<T> = (_0, _1, _2, _3, _4, _5, _6, _7, T)

Source§

type Prepend<T> = (T, _0, _1, _2, _3, _4, _5, _6, _7)

Source§

fn head(&self) -> &Self::Head

Source§

fn tail(&self) -> &Self::Tail

Source§

fn head_mut(&mut self) -> &mut Self::Head

Source§

fn tail_mut(&mut self) -> &mut Self::Tail

Source§

fn split_head(self) -> (Self::Head, Self::NoHead)

Source§

fn split_tail(self) -> (Self::NoTail, Self::Tail)

Source§

fn no_head(self) -> Self::NoHead

Source§

fn no_tail(self) -> Self::NoTail

Source§

fn append<T>(self, value: T) -> Self::Append<T>

Source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Source§

fn nth( self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_cloned( &self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>
where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone,

Source§

fn nth_ref( &self, nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_mut( &mut self, nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

impl<_0, _1, _2, _3, _4, _5, _6, _7, _8> Tuple for (_0, _1, _2, _3, _4, _5, _6, _7, _8)

Source§

type Head = _0

The first element of the tuple, at index 0.

Source§

type Tail = _8

The last element of the tuple, at index ARITY-1.

Source§

type NoHead = (_1, _2, _3, _4, _5, _6, _7, _8)

.

Source§

type _0 = _0

The type of the element at index 0 (the first field).

Source§

type _1 = _1

The type of the element at index 1.

Source§

type _2 = _2

The type of the element at index 2.

Source§

type _3 = _3

The type of the element at index 3.

Source§

type _4 = _4

The type of the element at index 4.

Source§

type _5 = _5

The type of the element at index 5.

Source§

type _6 = _6

The type of the element at index 6.

Source§

type _7 = _7

The type of the element at index 7.

Source§

type _8 = _8

The type of the element at index 8 (the last field).

Source§

type _9 = ()

Non-existing element with current arity.

Source§

type _10 = ()

Non-existing element with current arity.

Source§

type _11 = ()

Non-existing element with current arity.

Source§

const ARITY: usize = 9usize

Source§

type NoTail = (_0, _1, _2, _3, _4, _5, _6, _7)

Source§

type Append<T> = (_0, _1, _2, _3, _4, _5, _6, _7, _8, T)

Source§

type Prepend<T> = (T, _0, _1, _2, _3, _4, _5, _6, _7, _8)

Source§

fn head(&self) -> &Self::Head

Source§

fn tail(&self) -> &Self::Tail

Source§

fn head_mut(&mut self) -> &mut Self::Head

Source§

fn tail_mut(&mut self) -> &mut Self::Tail

Source§

fn split_head(self) -> (Self::Head, Self::NoHead)

Source§

fn split_tail(self) -> (Self::NoTail, Self::Tail)

Source§

fn no_head(self) -> Self::NoHead

Source§

fn no_tail(self) -> Self::NoTail

Source§

fn append<T>(self, value: T) -> Self::Append<T>

Source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Source§

fn nth( self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_cloned( &self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>
where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone,

Source§

fn nth_ref( &self, nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_mut( &mut self, nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

impl<_0, _1, _2, _3, _4, _5, _6, _7, _8, _9> Tuple for (_0, _1, _2, _3, _4, _5, _6, _7, _8, _9)

Source§

type Head = _0

The first element of the tuple, at index 0.

Source§

type Tail = _9

The last element of the tuple, at index ARITY-1.

Source§

type NoHead = (_1, _2, _3, _4, _5, _6, _7, _8, _9)

.

Source§

type _0 = _0

The type of the element at index 0 (the first field).

Source§

type _1 = _1

The type of the element at index 1.

Source§

type _2 = _2

The type of the element at index 2.

Source§

type _3 = _3

The type of the element at index 3.

Source§

type _4 = _4

The type of the element at index 4.

Source§

type _5 = _5

The type of the element at index 5.

Source§

type _6 = _6

The type of the element at index 6.

Source§

type _7 = _7

The type of the element at index 7.

Source§

type _8 = _8

The type of the element at index 8.

Source§

type _9 = _9

The type of the element at index 9 (the last field).

Source§

type _10 = ()

Non-existing element with current arity.

Source§

type _11 = ()

Non-existing element with current arity.

Source§

const ARITY: usize = 10usize

Source§

type NoTail = (_0, _1, _2, _3, _4, _5, _6, _7, _8)

Source§

type Append<T> = (_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, T)

Source§

type Prepend<T> = (T, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9)

Source§

fn head(&self) -> &Self::Head

Source§

fn tail(&self) -> &Self::Tail

Source§

fn head_mut(&mut self) -> &mut Self::Head

Source§

fn tail_mut(&mut self) -> &mut Self::Tail

Source§

fn split_head(self) -> (Self::Head, Self::NoHead)

Source§

fn split_tail(self) -> (Self::NoTail, Self::Tail)

Source§

fn no_head(self) -> Self::NoHead

Source§

fn no_tail(self) -> Self::NoTail

Source§

fn append<T>(self, value: T) -> Self::Append<T>

Source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Source§

fn nth( self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_cloned( &self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>
where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone,

Source§

fn nth_ref( &self, nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_mut( &mut self, nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

impl<_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10> Tuple for (_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10)

Source§

type Head = _0

The first element of the tuple, at index 0.

Source§

type Tail = _10

The last element of the tuple, at index ARITY-1.

Source§

type NoHead = (_1, _2, _3, _4, _5, _6, _7, _8, _9, _10)

.

Source§

type _0 = _0

The type of the element at index 0 (the first field).

Source§

type _1 = _1

The type of the element at index 1.

Source§

type _2 = _2

The type of the element at index 2.

Source§

type _3 = _3

The type of the element at index 3.

Source§

type _4 = _4

The type of the element at index 4.

Source§

type _5 = _5

The type of the element at index 5.

Source§

type _6 = _6

The type of the element at index 6.

Source§

type _7 = _7

The type of the element at index 7.

Source§

type _8 = _8

The type of the element at index 8.

Source§

type _9 = _9

The type of the element at index 9.

Source§

type _10 = _10

The type of the element at index 10 (the last field).

Source§

type _11 = ()

Non-existing element with current arity.

Source§

const ARITY: usize = 11usize

Source§

type NoTail = (_0, _1, _2, _3, _4, _5, _6, _7, _8, _9)

Source§

type Append<T> = (_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, T)

Source§

type Prepend<T> = (T, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10)

Source§

fn head(&self) -> &Self::Head

Source§

fn tail(&self) -> &Self::Tail

Source§

fn head_mut(&mut self) -> &mut Self::Head

Source§

fn tail_mut(&mut self) -> &mut Self::Tail

Source§

fn split_head(self) -> (Self::Head, Self::NoHead)

Source§

fn split_tail(self) -> (Self::NoTail, Self::Tail)

Source§

fn no_head(self) -> Self::NoHead

Source§

fn no_tail(self) -> Self::NoTail

Source§

fn append<T>(self, value: T) -> Self::Append<T>

Source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Source§

fn nth( self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_cloned( &self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>
where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone,

Source§

fn nth_ref( &self, nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_mut( &mut self, nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

impl<_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11> Tuple for (_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11)

Source§

type Head = _0

The first element of the tuple, at index 0.

Source§

type Tail = _11

The last element of the tuple, at index ARITY-1.

Source§

type NoHead = (_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11)

.

Source§

type _0 = _0

The type of the element at index 0 (the first field).

Source§

type _1 = _1

The type of the element at index 1.

Source§

type _2 = _2

The type of the element at index 2.

Source§

type _3 = _3

The type of the element at index 3.

Source§

type _4 = _4

The type of the element at index 4.

Source§

type _5 = _5

The type of the element at index 5.

Source§

type _6 = _6

The type of the element at index 6.

Source§

type _7 = _7

The type of the element at index 7.

Source§

type _8 = _8

The type of the element at index 8.

Source§

type _9 = _9

The type of the element at index 9.

Source§

type _10 = _10

The type of the element at index 10.

Source§

type _11 = _11

The type of the element at index 11 (the last field).

Source§

const ARITY: usize = 12usize

Source§

type NoTail = (_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10)

Source§

type Append<T> = (_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, T)

Source§

type Prepend<T> = (T, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11)

Source§

fn head(&self) -> &Self::Head

Source§

fn tail(&self) -> &Self::Tail

Source§

fn head_mut(&mut self) -> &mut Self::Head

Source§

fn tail_mut(&mut self) -> &mut Self::Tail

Source§

fn split_head(self) -> (Self::Head, Self::NoHead)

Source§

fn split_tail(self) -> (Self::NoTail, Self::Tail)

Source§

fn no_head(self) -> Self::NoHead

Source§

fn no_tail(self) -> Self::NoTail

Source§

fn append<T>(self, value: T) -> Self::Append<T>

Source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Source§

fn nth( self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_cloned( &self, nth: usize, ) -> Option<TupleElement<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>
where Self::_0: Clone, Self::_1: Clone, Self::_2: Clone, Self::_3: Clone, Self::_4: Clone, Self::_5: Clone, Self::_6: Clone, Self::_7: Clone, Self::_8: Clone, Self::_9: Clone, Self::_10: Clone, Self::_11: Clone,

Source§

fn nth_ref( &self, nth: usize, ) -> Option<TupleElementRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn nth_mut( &mut self, nth: usize, ) -> Option<TupleElementMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>>

Source§

fn into_iter( self, ) -> TupleIter<Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_ref( &self, ) -> TupleIterRef<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Source§

fn iter_mut( &mut self, ) -> TupleIterMut<'_, Self::_0, Self::_1, Self::_2, Self::_3, Self::_4, Self::_5, Self::_6, Self::_7, Self::_8, Self::_9, Self::_10, Self::_11>

Implementors§