Trait ordes::OrdesPop

source ·
pub trait OrdesPop {
    type Newlen;
    type Output;

    // Required method
    fn pop(self) -> (Self::Newlen, Self::Output);
}
Expand description

Trait for defining the removal of the last element from an array- or tuple-like data structure.

Required Associated Types§

source

type Newlen

Type of the container after .pop() has been called.

source

type Output

Type of the removed value.

Required Methods§

source

fn pop(self) -> (Self::Newlen, Self::Output)

Remove the last element from self and return it.

Examples

Using an array:

let foo: [u8; 5] = [0, 1, 2, 3, 4];
let (foo, pop) = foo.pop();
assert_eq!(foo, [0, 1, 2, 3]);
assert_eq!(pop, 4);

Using a tuple:

let foo = ('a', false, b'c', "d");
let (foo, pop) = foo.pop();
assert_eq!(foo, ('a', false, b'c'));
assert_eq!(pop, "d");

Implementations on Foreign Types§

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)

source§

impl<T> OrdesPop for [T; 25]

§

type Newlen = [T; 24]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 11]

§

type Newlen = [T; 10]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 7]

§

type Newlen = [T; 6]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26)

source§

impl<T0, T1, T2, T3> OrdesPop for (T0, T1, T2, T3)

§

type Newlen = (T0, T1, T2)

§

type Output = T3

source§

fn pop(self) -> (Self::Newlen, T3)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7)

§

type Newlen = (T0, T1, T2, T3, T4, T5, T6)

§

type Output = T7

source§

fn pop(self) -> (Self::Newlen, T7)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)

source§

impl<T> OrdesPop for [T; 24]

§

type Newlen = [T; 23]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 1]

§

type Newlen = ()

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, T)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25)

source§

impl<T> OrdesPop for [T; 5]

§

type Newlen = [T; 4]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 8]

§

type Newlen = [T; 7]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)

source§

impl<T> OrdesPop for [T; 22]

§

type Newlen = [T; 21]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30)

source§

impl<T> OrdesPop for [T; 30]

§

type Newlen = [T; 29]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 9]

§

type Newlen = [T; 8]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 16]

§

type Newlen = [T; 15]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29)

source§

impl<T> OrdesPop for [T; 17]

§

type Newlen = [T; 16]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 10]

§

type Newlen = [T; 9]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 23]

§

type Newlen = [T; 22]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 20]

§

type Newlen = [T; 19]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 2]

§

type Newlen = [T; 1]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 15]

§

type Newlen = [T; 14]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T0, T1, T2, T3, T4, T5, T6> OrdesPop for (T0, T1, T2, T3, T4, T5, T6)

§

type Newlen = (T0, T1, T2, T3, T4, T5)

§

type Output = T6

source§

fn pop(self) -> (Self::Newlen, T6)

source§

impl<T> OrdesPop for [T; 18]

§

type Newlen = [T; 17]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T0, T1, T2> OrdesPop for (T0, T1, T2)

§

type Newlen = (T0, T1)

§

type Output = T2

source§

fn pop(self) -> (Self::Newlen, T2)

source§

impl<T0> OrdesPop for (T0,)

§

type Newlen = ()

§

type Output = T0

source§

fn pop(self) -> (Self::Newlen, T0)

source§

impl<T> OrdesPop for [T; 27]

§

type Newlen = [T; 26]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)

source§

impl<T> OrdesPop for [T; 12]

§

type Newlen = [T; 11]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

source§

impl<T> OrdesPop for [T; 13]

§

type Newlen = [T; 12]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 26]

§

type Newlen = [T; 25]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T0, T1> OrdesPop for (T0, T1)

§

type Newlen = T0

§

type Output = T1

source§

fn pop(self) -> (Self::Newlen, T1)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27)

source§

impl<T> OrdesPop for [T; 14]

§

type Newlen = [T; 13]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)

source§

impl<T0, T1, T2, T3, T4> OrdesPop for (T0, T1, T2, T3, T4)

§

type Newlen = (T0, T1, T2, T3)

§

type Output = T4

source§

fn pop(self) -> (Self::Newlen, T4)

source§

impl<T> OrdesPop for [T; 29]

§

type Newlen = [T; 28]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 3]

§

type Newlen = [T; 2]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 28]

§

type Newlen = [T; 27]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 6]

§

type Newlen = [T; 5]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T0, T1, T2, T3, T4, T5> OrdesPop for (T0, T1, T2, T3, T4, T5)

§

type Newlen = (T0, T1, T2, T3, T4)

§

type Output = T5

source§

fn pop(self) -> (Self::Newlen, T5)

source§

impl<T> OrdesPop for [T; 19]

§

type Newlen = [T; 18]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T> OrdesPop for [T; 32]

§

type Newlen = [T; 31]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

source§

impl<T> OrdesPop for [T; 21]

§

type Newlen = [T; 20]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)

source§

impl<T> OrdesPop for [T; 31]

§

type Newlen = [T; 30]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> OrdesPop for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)

source§

impl<T> OrdesPop for [T; 4]

§

type Newlen = [T; 3]

§

type Output = T

source§

fn pop(self) -> (Self::Newlen, Self::Output)

Implementors§