Trait tupl::Tuple

source ·
pub trait Tuple: Sealed {
    type Head;
    type Tail;
    type Append<T>: Tuple;
    type Prepend<T>: Tuple;
    type TruncateHead: Tuple;
    type TruncateTail: Tuple;

    const ARITY: usize;

    // Required methods
    fn head(&self) -> &Self::Head;
    fn head_mut(&mut self) -> &mut Self::Head;
    fn tail(&self) -> &Self::Tail;
    fn tail_mut(&mut self) -> &mut Self::Tail;
    fn append<T>(self, value: T) -> Self::Append<T>;
    fn prepend<T>(self, value: T) -> Self::Prepend<T>;
    fn truncate_head(self) -> (Self::Head, Self::TruncateHead);
    fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail);

    // Provided methods
    fn replace_head(&mut self, head: Self::Head) -> Self::Head { ... }
    fn take_head(&mut self) -> Self::Head
       where Self::Head: Default { ... }
    fn replace_tail(&mut self, tail: Self::Tail) -> Self::Tail { ... }
    fn take_tail(&mut self) -> Self::Tail
       where Self::Tail: Default { ... }
}
Expand description

A trait representing tuples. It is only implemented for tuples of arity 0 to 50.
This trait is sealed and as such not meant to be implemented.

Required Associated Types§

source

type Head

The first element of this tuple.

source

type Tail

The last element of this tuple.

source

type Append<T>: Tuple

This tuple with an extra element T appended to it.

source

type Prepend<T>: Tuple

This tuple with an extra element T prepended to it.

source

type TruncateHead: Tuple

This tuple with its head truncated.

source

type TruncateTail: Tuple

This tuple with its tail truncated.

Required Associated Constants§

source

const ARITY: usize

The arity or length of this tuple type.

Required Methods§

source

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

Returns a reference to the head of this tuple.

Examples
let tuple = (1, 2, 3);
assert_eq!(&1, tuple.head());
Panics

Calling this function on an empty tuple will cause a panic.

source

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

Returns a mutable reference to the head of this tuple.

Examples
let mut tuple = (1, 2, 3);
assert_eq!(&mut 1, tuple.head_mut());
Panics

Calling this function on an empty tuple will cause a panic.

source

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

Returns a reference to the tail of this tuple.

Examples
let tuple = (1, 2, 3);
assert_eq!(&3, tuple.tail());
Panics

Calling this function on an empty tuple will cause a panic.

source

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

Returns a mutable reference to the tail of this tuple.

Examples
let mut tuple = (1, 2, 3);
assert_eq!(&mut 3, tuple.tail_mut());
Panics

Calling this function on an empty tuple will cause a panic.

source

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

Consumes this tuple and appends a value to it, returning a new tuple.

Examples
let tuple = (1, 2);
let tuple = tuple.append(3);
assert_eq!(tuple, (1, 2, 3));
Panics

Calling this function on a tuple of arity 50 or greater will cause a panic.

source

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

Consumes this tuple and prepends a value to it, returning a new tuple.

Examples
let tuple = (2, 3);
let tuple = tuple.prepend(1);
assert_eq!(tuple, (1, 2, 3));
Panics

Calling this function on a tuple of arity 50 or greater will cause a panic.

source

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

Consumes this tuple and truncates its head from the remaining elements.

Examples
let tuple = (1, 2, 3);
let tuple = tuple.truncate_head();
assert_eq!(tuple, (1, (2, 3)));
Panics

Calling this function on an empty tuple will cause a panic.

source

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

Consumes this tuple and truncates its tail from the remaining elements.

Examples
let tuple = (1, 2, 3);
let tuple = tuple.truncate_tail();
assert_eq!(tuple, ((1, 2), 3));
Panics

Calling this function on an empty tuple will cause a panic.

Provided Methods§

source

fn replace_head(&mut self, head: Self::Head) -> Self::Head

Replaces the head of this tuple with a new value, returning the old one.

Examples
let mut tuple = (1, 2, 3);
let head = tuple.replace_head(-1);
assert_eq!(-1, tuple.0);
assert_eq!(1, head);
Panics

Calling this function on an empty tuple will cause a panic.

source

fn take_head(&mut self) -> Self::Headwhere Self::Head: Default,

Takes the head of this tuple and replaces it with its default value, returning the current value.

Examples
let mut tuple = (1, 2, 3);
let head = tuple.take_head();
assert_eq!(0, tuple.0);
assert_eq!(1, head);
Panics

Calling this function on an empty tuple will cause a panic.

source

fn replace_tail(&mut self, tail: Self::Tail) -> Self::Tail

Replaces the tail of this tuple with a new value, returning the old one.

Examples
let mut tuple = (1, 2, 3);
let tail = tuple.replace_tail(4);
assert_eq!(4, tuple.2);
assert_eq!(3, tail);
Panics

Calling this function on an empty tuple will cause a panic.

source

fn take_tail(&mut self) -> Self::Tailwhere Self::Tail: Default,

Takes the tail of this tuple and replaces it with its default value, returning the current value.

Examples
let mut tuple = (1, 2, 3);
let tail = tuple.take_tail();
assert_eq!(0, tuple.2);
assert_eq!(3, tail);
Panics

Calling this function on an empty tuple will cause a panic.

Implementations on Foreign Types§

source§

impl<A, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type Head = A

§

type Tail = Ω

§

type Append<ඞ> = (A, Σ, Τ, Υ, Φ, Χ, Ψ, Ω, ඞ)

§

type Prepend<ඞ> = (ඞ, A, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateHead = (Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateTail = (A, Σ, Τ, Υ, Φ, Χ, Ψ)

source§

const ARITY: usize = 8usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl<A, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type Head = A

§

type Tail = Ω

§

type Append<ඞ> = (A, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω, ඞ)

§

type Prepend<ඞ> = (ඞ, A, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateHead = (Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateTail = (A, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ)

source§

const ARITY: usize = 11usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl<A, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Υ, Φ, Χ, Ψ, Ω)

§

type Head = A

§

type Tail = Ω

§

type Append<ඞ> = (A, Υ, Φ, Χ, Ψ, Ω, ඞ)

§

type Prepend<ඞ> = (ඞ, A, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateHead = (Υ, Φ, Χ, Ψ, Ω)

§

type TruncateTail = (A, Υ, Φ, Χ, Ψ)

source§

const ARITY: usize = 6usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl<A, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type Head = A

§

type Tail = Ω

§

type Append<ඞ> = (A, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω, ඞ)

§

type Prepend<ඞ> = (ඞ, A, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateHead = (Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateTail = (A, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ)

source§

const ARITY: usize = 12usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl Tuple for ()

§

type Head = Infallible

§

type Tail = Infallible

§

type Append<T> = (T,)

§

type Prepend<T> = (T,)

§

type TruncateHead = Infallible

§

type TruncateTail = Infallible

source§

const ARITY: usize = 0usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl<A, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type Head = A

§

type Tail = Ω

§

type Append<ඞ> = (A, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω, ඞ)

§

type Prepend<ඞ> = (ඞ, A, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateHead = (Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateTail = (A, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ)

source§

const ARITY: usize = 13usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl<A, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Ω> Tuple for (A, Ω)

§

type Head = A

§

type Tail = Ω

§

type Append<T> = (A, Ω, T)

§

type Prepend<T> = (T, A, Ω)

§

type TruncateHead = (Ω,)

§

type TruncateTail = (A,)

source§

const ARITY: usize = 2usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl<A, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A> Tuple for (A,)

§

type Head = A

§

type Tail = A

§

type Append<T> = (A, T)

§

type Prepend<T> = (T, A)

§

type TruncateHead = ()

§

type TruncateTail = ()

source§

const ARITY: usize = 1usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl<A, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type Head = A

§

type Tail = Ω

§

type Append<ඞ> = (A, Τ, Υ, Φ, Χ, Ψ, Ω, ඞ)

§

type Prepend<ඞ> = (ඞ, A, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateHead = (Τ, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateTail = (A, Τ, Υ, Φ, Χ, Ψ)

source§

const ARITY: usize = 7usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl<A, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Ψ, Ω> Tuple for (A, Ψ, Ω)

§

type Head = A

§

type Tail = Ω

§

type Append<ඞ> = (A, Ψ, Ω, ඞ)

§

type Prepend<ඞ> = (ඞ, A, Ψ, Ω)

§

type TruncateHead = (Ψ, Ω)

§

type TruncateTail = (A, Ψ)

source§

const ARITY: usize = 3usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl<A, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type Head = A

§

type Tail = Ω

§

type Append<ඞ> = (A, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω, ඞ)

§

type Prepend<ඞ> = (ඞ, A, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateHead = (Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateTail = (A, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ)

source§

const ARITY: usize = 10usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl<A, Φ, Χ, Ψ, Ω> Tuple for (A, Φ, Χ, Ψ, Ω)

§

type Head = A

§

type Tail = Ω

§

type Append<ඞ> = (A, Φ, Χ, Ψ, Ω, ඞ)

§

type Prepend<ඞ> = (ඞ, A, Φ, Χ, Ψ, Ω)

§

type TruncateHead = (Φ, Χ, Ψ, Ω)

§

type TruncateTail = (A, Φ, Χ, Ψ)

source§

const ARITY: usize = 5usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl<A, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type Head = A

§

type Tail = Ω

§

type Append<ඞ> = (A, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω, ඞ)

§

type Prepend<ඞ> = (ඞ, A, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateHead = (Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

§

type TruncateTail = (A, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ)

source§

const ARITY: usize = 9usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl<A, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Χ, Ψ, Ω> Tuple for (A, Χ, Ψ, Ω)

§

type Head = A

§

type Tail = Ω

§

type Append<ඞ> = (A, Χ, Ψ, Ω, ඞ)

§

type Prepend<ඞ> = (ඞ, A, Χ, Ψ, Ω)

§

type TruncateHead = (Χ, Ψ, Ω)

§

type TruncateTail = (A, Χ, Ψ)

source§

const ARITY: usize = 4usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl Tuple for Infallible

§

type Head = Infallible

§

type Tail = Infallible

§

type Append<T> = Infallible

§

type Prepend<T> = Infallible

§

type TruncateHead = Infallible

§

type TruncateTail = Infallible

source§

const ARITY: usize = 4_294_967_295usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn truncate_head(self) -> (Self::Head, Self::TruncateHead)

source§

fn truncate_tail(self) -> (Self::TruncateTail, Self::Tail)

source§

impl<A, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

source§

impl<A, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω> Tuple for (A, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω)

Implementors§