Struct Set

Source
pub struct Set<T: ?Sized>(/* private fields */);
Expand description

Marker struct to act as a set of elements.

Use the [macro@Set] macro instead of typing this out directly.

The inner type T is one of the sets, and indicates the elements in this set.

  • Set![] == Set<dyn Zero>
  • Set![u32] == Set<dyn One<u32>>
  • Set![u32, u64] == Set<dyn Two<u32, u64>>

Trait Implementations§

Source§

impl<T1: 'static, T2: 'static, T3: 'static, T4: 'static, T5: 'static, T6: 'static, T7: 'static, T8: 'static> Members for Set<dyn Eight<T1, T2, T3, T4, T5, T6, T7, T8>>

Source§

fn members() -> Vec<TypeId>

Get the members (type-ids) of this set.
Source§

impl<T1: 'static, T2: 'static, T3: 'static, T4: 'static, T5: 'static, T6: 'static, T7: 'static, T8: 'static, T9: 'static, T10: 'static, T11: 'static> Members for Set<dyn Eleven<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>>

Source§

fn members() -> Vec<TypeId>

Get the members (type-ids) of this set.
Source§

impl<T1: 'static, T2: 'static, T3: 'static, T4: 'static, T5: 'static> Members for Set<dyn Five<T1, T2, T3, T4, T5>>

Source§

fn members() -> Vec<TypeId>

Get the members (type-ids) of this set.
Source§

impl<T1: 'static, T2: 'static, T3: 'static, T4: 'static> Members for Set<dyn Four<T1, T2, T3, T4>>

Source§

fn members() -> Vec<TypeId>

Get the members (type-ids) of this set.
Source§

impl<T1: 'static, T2: 'static, T3: 'static, T4: 'static, T5: 'static, T6: 'static, T7: 'static, T8: 'static, T9: 'static> Members for Set<dyn Nine<T1, T2, T3, T4, T5, T6, T7, T8, T9>>

Source§

fn members() -> Vec<TypeId>

Get the members (type-ids) of this set.
Source§

impl<T1: 'static> Members for Set<dyn One<T1>>

Source§

fn members() -> Vec<TypeId>

Get the members (type-ids) of this set.
Source§

impl<T1: 'static, T2: 'static, T3: 'static, T4: 'static, T5: 'static, T6: 'static, T7: 'static> Members for Set<dyn Seven<T1, T2, T3, T4, T5, T6, T7>>

Source§

fn members() -> Vec<TypeId>

Get the members (type-ids) of this set.
Source§

impl<T1: 'static, T2: 'static, T3: 'static, T4: 'static, T5: 'static, T6: 'static> Members for Set<dyn Six<T1, T2, T3, T4, T5, T6>>

Source§

fn members() -> Vec<TypeId>

Get the members (type-ids) of this set.
Source§

impl<T1: 'static, T2: 'static, T3: 'static, T4: 'static, T5: 'static, T6: 'static, T7: 'static, T8: 'static, T9: 'static, T10: 'static> Members for Set<dyn Ten<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>>

Source§

fn members() -> Vec<TypeId>

Get the members (type-ids) of this set.
Source§

impl<T1: 'static, T2: 'static, T3: 'static> Members for Set<dyn Three<T1, T2, T3>>

Source§

fn members() -> Vec<TypeId>

Get the members (type-ids) of this set.
Source§

impl<T1: 'static, T2: 'static, T3: 'static, T4: 'static, T5: 'static, T6: 'static, T7: 'static, T8: 'static, T9: 'static, T10: 'static, T11: 'static, T12: 'static> Members for Set<dyn Twelve<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>>

Source§

fn members() -> Vec<TypeId>

Get the members (type-ids) of this set.
Source§

impl<T1: 'static, T2: 'static> Members for Set<dyn Two<T1, T2>>

Source§

fn members() -> Vec<TypeId>

Get the members (type-ids) of this set.
Source§

impl Members for Set<dyn Zero>

Source§

fn members() -> Vec<TypeId>

Get the members (type-ids) of this set.
Source§

impl<T, E> Contains<E> for Set<T>
where T: Contains<E> + ?Sized,

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, S> SubsetOf<S> for Set<dyn Eight<T1, T2, T3, T4, T5, T6, T7, T8>>
where S: Eight<T1, T2, T3, T4, T5, T6, T7, T8>,

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, S> SubsetOf<S> for Set<dyn Eleven<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>>
where S: Eleven<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>,

Source§

impl<T1, T2, T3, T4, T5, S> SubsetOf<S> for Set<dyn Five<T1, T2, T3, T4, T5>>
where S: Five<T1, T2, T3, T4, T5>,

Source§

impl<T1, T2, T3, T4, S> SubsetOf<S> for Set<dyn Four<T1, T2, T3, T4>>
where S: Four<T1, T2, T3, T4>,

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, S> SubsetOf<S> for Set<dyn Nine<T1, T2, T3, T4, T5, T6, T7, T8, T9>>
where S: Nine<T1, T2, T3, T4, T5, T6, T7, T8, T9>,

Source§

impl<T1, S> SubsetOf<S> for Set<dyn One<T1>>
where S: One<T1>,

Source§

impl<T1, T2, T3, T4, T5, T6, T7, S> SubsetOf<S> for Set<dyn Seven<T1, T2, T3, T4, T5, T6, T7>>
where S: Seven<T1, T2, T3, T4, T5, T6, T7>,

Source§

impl<T1, T2, T3, T4, T5, T6, S> SubsetOf<S> for Set<dyn Six<T1, T2, T3, T4, T5, T6>>
where S: Six<T1, T2, T3, T4, T5, T6>,

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, S> SubsetOf<S> for Set<dyn Ten<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>>
where S: Ten<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>,

Source§

impl<T1, T2, T3, S> SubsetOf<S> for Set<dyn Three<T1, T2, T3>>
where S: Three<T1, T2, T3>,

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, S> SubsetOf<S> for Set<dyn Twelve<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>>
where S: Twelve<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>,

Source§

impl<T1, T2, S> SubsetOf<S> for Set<dyn Two<T1, T2>>
where S: Two<T1, T2>,

Source§

impl<S> SubsetOf<S> for Set<dyn Zero>
where S: Zero,

Auto Trait Implementations§

§

impl<T> Freeze for Set<T>
where T: ?Sized,

§

impl<T> RefUnwindSafe for Set<T>
where T: ?Sized,

§

impl<T> Send for Set<T>
where T: ?Sized,

§

impl<T> Sync for Set<T>
where T: ?Sized,

§

impl<T> Unpin for Set<T>
where T: ?Sized,

§

impl<T> UnwindSafe for Set<T>
where T: ?Sized,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, S> Eight<T1, T2, T3, T4, T5, T6, T7, T8> for S
where S: Seven<T1, T2, T3, T4, T5, T6, T7> + Contains<T8> + ?Sized,

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, S> Eleven<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> for S
where S: Ten<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> + Contains<T11> + ?Sized,

Source§

impl<T1, T2, T3, T4, T5, S> Five<T1, T2, T3, T4, T5> for S
where S: Four<T1, T2, T3, T4> + Contains<T5> + ?Sized,

Source§

impl<T1, T2, T3, T4, S> Four<T1, T2, T3, T4> for S
where S: Three<T1, T2, T3> + Contains<T4> + ?Sized,

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, S> Nine<T1, T2, T3, T4, T5, T6, T7, T8, T9> for S
where S: Eight<T1, T2, T3, T4, T5, T6, T7, T8> + Contains<T9> + ?Sized,

Source§

impl<T1, S> One<T1> for S
where S: Zero + Contains<T1> + ?Sized,

Source§

impl<T1, T2, T3, T4, T5, T6, T7, S> Seven<T1, T2, T3, T4, T5, T6, T7> for S
where S: Six<T1, T2, T3, T4, T5, T6> + Contains<T7> + ?Sized,

Source§

impl<T1, T2, T3, T4, T5, T6, S> Six<T1, T2, T3, T4, T5, T6> for S
where S: Five<T1, T2, T3, T4, T5> + Contains<T6> + ?Sized,

Source§

impl<T, S> SupersetOf<S> for T
where S: SubsetOf<T>,

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, S> Ten<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> for S
where S: Nine<T1, T2, T3, T4, T5, T6, T7, T8, T9> + Contains<T10> + ?Sized,

Source§

impl<T1, T2, T3, S> Three<T1, T2, T3> for S
where S: Two<T1, T2> + Contains<T3> + ?Sized,

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, S> Twelve<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> for S
where S: Eleven<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> + Contains<T12> + ?Sized,

Source§

impl<T1, T2, S> Two<T1, T2> for S
where S: One<T1> + Contains<T2> + ?Sized,

Source§

impl<S> Zero for S
where S: ?Sized,