tuple_split

Trait TupleSplitIntoLeft

Source
pub trait TupleSplitIntoLeft<L>: Tuple
where L: Tuple,
{ type Right: Tuple; // Required method fn split_tuple_into_left(self) -> (L, Self::Right); }
Expand description

A trait for splitting a tuple up into two parts given a specified left part L. L must be a leftmost segment of Self.

Tuples will be split into parts L and TupleSplitIntoLeft::Right.

§Example

let t: (u8, f32, &str) = (1, 1.0, "test");
let (l, r): ((u8, f32), (&str,)) = tuple_split::split_tuple_into_left::<(u8, f32)>(t);

assert_eq!(t, tupleops::concat_tuples(l, r));

Required Associated Types§

Required Methods§

Source

fn split_tuple_into_left(self) -> (L, Self::Right)

Implementations on Foreign Types§

Source§

impl TupleSplitIntoLeft<()> for ()

Source§

impl<_1, _2, _3, _4> TupleSplitIntoLeft<(_1, _2, _3, _4)> for (_1, _2, _3, _4)

Source§

impl<_2, _3, _4> TupleSplitIntoLeft<(_2, _3, _4)> for (_2, _3, _4)

Source§

impl<_2, _3, _4, _1> TupleSplitIntoLeft<(_2, _3, _4)> for (_2, _3, _4, _1)

Source§

impl<_3, _4> TupleSplitIntoLeft<(_3, _4)> for (_3, _4)

Source§

impl<_3, _4, _2> TupleSplitIntoLeft<(_3, _4)> for (_3, _4, _2)

Source§

impl<_3, _4, _2, _1> TupleSplitIntoLeft<(_3, _4)> for (_3, _4, _2, _1)

Source§

impl<_4> TupleSplitIntoLeft<(_4,)> for (_4,)

Source§

impl<_4> TupleSplitIntoLeft<()> for (_4,)

Source§

impl<_4, _3> TupleSplitIntoLeft<(_4,)> for (_4, _3)

Source§

impl<_4, _3> TupleSplitIntoLeft<()> for (_4, _3)

Source§

impl<_4, _3, _2> TupleSplitIntoLeft<(_4,)> for (_4, _3, _2)

Source§

impl<_4, _3, _2> TupleSplitIntoLeft<()> for (_4, _3, _2)

Source§

impl<_4, _3, _2, _1> TupleSplitIntoLeft<(_4,)> for (_4, _3, _2, _1)

Source§

impl<_4, _3, _2, _1> TupleSplitIntoLeft<()> for (_4, _3, _2, _1)

Implementors§