Trait tuplex::HomoTuple

source ·
pub trait HomoTuple<T>
where Self: Len + IntoArray<T> + IntoBoxedSlice<T>,
{ type FieldsWrapped; type TupleWrapped: IntoIterator<Item = T>; // Required methods fn wrap_fields(self) -> Self::FieldsWrapped; fn wrap_tuple(self) -> Self::TupleWrapped; fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter; }
Expand description

Homogeneous Tuple’s trait.

Required Associated Types§

source

type FieldsWrapped

New type of tuple after fields converted into Option.

source

type TupleWrapped: IntoIterator<Item = T>

New type of tuple after the whole tuple has been wrapped.

Required Methods§

source

fn wrap_fields(self) -> Self::FieldsWrapped

Converts fields into Option.

source

fn wrap_tuple(self) -> Self::TupleWrapped

Wraps the whole tuple and get a new type.

source

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

Converts the tuple into an iterater which owns the fields, by internally converting all fields into Options.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T> HomoTuple<T> for (T, T)

source§

impl<T> HomoTuple<T> for (T, T, T)

source§

impl<T> HomoTuple<T> for (T, T, T, T)

source§

impl<T> HomoTuple<T> for (T, T, T, T, T)

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T)

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T)

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T)

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T)

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T)

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T)

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T)

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T)

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T)

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup17<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup18<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup19<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup20<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup21<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup22<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup23<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup24<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup25<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup26<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup27<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup28<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup29<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup30<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup31<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)

§

type FieldsWrapped = (Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>, Option<T>)

§

type TupleWrapped = HTup32<T>

source§

fn wrap_fields(self) -> Self::FieldsWrapped

source§

fn wrap_tuple(self) -> Self::TupleWrapped

source§

fn wrap_into_iter(self) -> <Self::TupleWrapped as IntoIterator>::IntoIter

source§

impl<T> HomoTuple<T> for (T,)

source§

impl<T> HomoTuple<T> for ()

Implementors§