Set

Trait Set 

Source
pub trait Set {
    type Elem;
    type Atom;

    // Required method
    fn len(&self) -> usize;

    // Provided method
    fn is_empty(&self) -> bool { ... }
}
Expand description

A trait defining a raw buffer of data. This data is typed but not annotated so it can represent anything. For example a buffer of floats can represent a set of vertex colours or vertex positions.

Required Associated Types§

Source

type Elem

Owned element of the set.

Source

type Atom

The most basic element contained by this collection. If this collection contains other collections, this type should be different than Elem.

Required Methods§

Source

fn len(&self) -> usize

Provided Methods§

Source

fn is_empty(&self) -> bool

Implementations on Foreign Types§

Source§

impl<I: IntBound> Set for Range<I>

Source§

impl<I: IntBound> Set for RangeInclusive<I>

Source§

impl<I: IntBound> Set for RangeTo<I>

Source§

impl<I: IntBound> Set for RangeToInclusive<I>

Source§

impl<S: Set + ?Sized> Set for &S

Source§

type Elem = <S as Set>::Elem

Source§

type Atom = <S as Set>::Elem

Source§

fn len(&self) -> usize

Source§

impl<S: Set + ?Sized> Set for &mut S

Source§

type Elem = <S as Set>::Elem

Source§

type Atom = <S as Set>::Elem

Source§

fn len(&self) -> usize

Source§

impl<S: Set + ?Sized> Set for Ref<'_, S>

Source§

type Elem = <S as Set>::Elem

Source§

type Atom = <S as Set>::Elem

Source§

fn len(&self) -> usize

Source§

impl<S: Set + ?Sized> Set for RefMut<'_, S>

Source§

type Elem = <S as Set>::Elem

Source§

type Atom = <S as Set>::Elem

Source§

fn len(&self) -> usize

Source§

impl<S: Set> Set for Box<S>

Source§

type Elem = <S as Set>::Elem

Source§

type Atom = <S as Set>::Atom

Source§

fn len(&self) -> usize

Source§

impl<S: Set, T: Set> Set for (S, T)

Source§

type Elem = (<S as Set>::Elem, <T as Set>::Elem)

Source§

type Atom = (<S as Set>::Atom, <T as Set>::Atom)

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 1]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 2]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 3]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 4]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 5]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 6]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 7]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 8]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 9]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 10]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 11]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 12]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 13]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 14]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 15]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T; 16]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for [T]

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Source§

impl<T> Set for Vec<T>

Source§

type Elem = T

Source§

type Atom = T

Source§

fn len(&self) -> usize

Implementors§

Source§

impl<N: Unsigned> Set for StaticRange<N>

Source§

impl<O: AsRef<[usize]>> Set for ClumpedOffsets<O>

Source§

impl<O: Set<Elem = usize, Atom = usize>> Set for Offsets<O>

Source§

impl<S, O> Set for Chunked<S, O>
where S: Set, O: GetOffset,

Source§

type Elem = Vec<<S as Set>::Elem>

Source§

type Atom = <S as Set>::Atom

Source§

impl<S: Set + UniChunkable<N>, N: Unsigned> Set for UniChunked<S, U<N>>

An implementation of Set for a UniChunked collection of any type that can be grouped as N sub-elements.

Source§

type Elem = <S as UniChunkable<N>>::Chunk

Source§

type Atom = <S as Set>::Atom

Source§

impl<S: Set> Set for Select<S, Range<usize>>

Source§

type Elem = <S as Set>::Elem

Source§

type Atom = <S as Set>::Atom

Source§

impl<S: Set> Set for ChunkedN<S>

An implementation of Set for a UniChunked collection of any type that can be grouped into sub-elements whose size is determined at run-time.

Source§

type Elem = Vec<<S as Set>::Elem>

Source§

type Atom = <S as Set>::Atom

Source§

impl<S: Set, I: AsRef<[usize]>> Set for Subset<S, I>

Required for Chunked and UniChunked subsets.

Source§

type Elem = <S as Set>::Elem

Source§

type Atom = <S as Set>::Atom

Source§

impl<S: Set, I: AsIndexSlice> Set for Select<S, I>

Source§

type Elem = <S as Set>::Elem

Source§

type Atom = <S as Set>::Atom

Source§

impl<S: Set, T, I> Set for Sparse<S, T, I>

Source§

type Elem = (usize, <S as Set>::Elem)

Source§

type Atom = <S as Set>::Atom