Skip to main content

LabelledSimplexCollection

Trait LabelledSimplexCollection 

Source
pub trait LabelledSimplexCollection<'f, FS: OrderedRingSignature + FieldSignature + 'f, T: Eq + Clone + Send + Sync>: Sized
where FS::Set: Hash,
{ type WithLabel<S: Eq + Clone + Send + Sync>: LabelledSimplexCollection<'f, FS, S>; type SubsetType: LabelledSimplexCollection<'f, FS, T>;
Show 22 methods // Required methods fn try_new_labelled( ambient_space: AffineSpace<'f, FS>, simplexes: HashMap<Simplex<'f, FS>, T>, ) -> Result<Self, &'static str>; fn new_labelled_unchecked( ambient_space: AffineSpace<'f, FS>, simplexes: HashMap<Simplex<'f, FS>, T>, ) -> Self; fn ambient_space(&self) -> AffineSpace<'f, FS>; fn labelled_simplexes(&self) -> HashMap<&Simplex<'f, FS>, &T>; fn into_labelled_simplexes(self) -> HashMap<Simplex<'f, FS>, T>; fn into_partial_simplicial_complex( self, ) -> LabelledPartialSimplicialComplex<'f, FS, T>; fn to_partial_simplicial_complex( &self, ) -> LabelledPartialSimplicialComplex<'f, FS, T>; fn into_simplicial_disjoint_union( self, ) -> LabelledSimplicialDisjointUnion<'f, FS, T>; fn to_simplicial_disjoint_union( &self, ) -> LabelledSimplicialDisjointUnion<'f, FS, T>; // Provided methods fn try_new( ambient_space: AffineSpace<'f, FS>, simplexes: HashSet<Simplex<'f, FS>>, ) -> Result<Self::WithLabel<()>, &'static str> { ... } fn new_unchecked( ambient_space: AffineSpace<'f, FS>, simplexes: HashSet<Simplex<'f, FS>>, ) -> Self::WithLabel<()> { ... } fn simplexes<'a>(&'a self) -> HashSet<&'a Simplex<'f, FS>> where T: 'a { ... } fn into_simplexes(self) -> HashSet<Simplex<'f, FS>> { ... } fn subset_by_label( &self, label: &T, ) -> <Self::SubsetType as LabelledSimplexCollection<'f, FS, T>>::WithLabel<()> { ... } fn into_subset_by_label( self, label: &T, ) -> <Self::SubsetType as LabelledSimplexCollection<'f, FS, T>>::WithLabel<()> { ... } fn subset_by_filter(&self, f: impl Fn(&T) -> bool) -> Self::SubsetType { ... } fn into_subset_by_filter(self, f: impl Fn(&T) -> bool) -> Self::SubsetType { ... } fn apply_label_function<S: Eq + Clone + Send + Sync>( &self, f: impl Fn(&T) -> S, ) -> Self::WithLabel<S> { ... } fn into_apply_label_function<S: Eq + Clone + Send + Sync>( self, f: impl Fn(T) -> S, ) -> Self::WithLabel<S> { ... } fn forget_labels(&self) -> Self::WithLabel<()> { ... } fn into_forget_labels(self) -> Self::WithLabel<()> { ... } fn common_label<'a>( &'a self, simplexes: impl Iterator<Item = &'a Simplex<'f, FS>>, ) -> Option<&'a T> where FS: 'a, AffineSpace<'f, FS>: 'a, 'f: 'a { ... }
}
Expand description

A collection of disjoint simplices labelled by T

Required Associated Types§

Required Methods§

Source

fn try_new_labelled( ambient_space: AffineSpace<'f, FS>, simplexes: HashMap<Simplex<'f, FS>, T>, ) -> Result<Self, &'static str>

Source

fn new_labelled_unchecked( ambient_space: AffineSpace<'f, FS>, simplexes: HashMap<Simplex<'f, FS>, T>, ) -> Self

Source

fn ambient_space(&self) -> AffineSpace<'f, FS>

Source

fn labelled_simplexes(&self) -> HashMap<&Simplex<'f, FS>, &T>

Source

fn into_labelled_simplexes(self) -> HashMap<Simplex<'f, FS>, T>

Source

fn into_partial_simplicial_complex( self, ) -> LabelledPartialSimplicialComplex<'f, FS, T>

Source

fn to_partial_simplicial_complex( &self, ) -> LabelledPartialSimplicialComplex<'f, FS, T>

Source

fn into_simplicial_disjoint_union( self, ) -> LabelledSimplicialDisjointUnion<'f, FS, T>

Source

fn to_simplicial_disjoint_union( &self, ) -> LabelledSimplicialDisjointUnion<'f, FS, T>

Provided Methods§

Source

fn try_new( ambient_space: AffineSpace<'f, FS>, simplexes: HashSet<Simplex<'f, FS>>, ) -> Result<Self::WithLabel<()>, &'static str>

Source

fn new_unchecked( ambient_space: AffineSpace<'f, FS>, simplexes: HashSet<Simplex<'f, FS>>, ) -> Self::WithLabel<()>

Source

fn simplexes<'a>(&'a self) -> HashSet<&'a Simplex<'f, FS>>
where T: 'a,

Source

fn into_simplexes(self) -> HashSet<Simplex<'f, FS>>

Source

fn subset_by_label( &self, label: &T, ) -> <Self::SubsetType as LabelledSimplexCollection<'f, FS, T>>::WithLabel<()>

Source

fn into_subset_by_label( self, label: &T, ) -> <Self::SubsetType as LabelledSimplexCollection<'f, FS, T>>::WithLabel<()>

Source

fn subset_by_filter(&self, f: impl Fn(&T) -> bool) -> Self::SubsetType

Source

fn into_subset_by_filter(self, f: impl Fn(&T) -> bool) -> Self::SubsetType

Source

fn apply_label_function<S: Eq + Clone + Send + Sync>( &self, f: impl Fn(&T) -> S, ) -> Self::WithLabel<S>

Source

fn into_apply_label_function<S: Eq + Clone + Send + Sync>( self, f: impl Fn(T) -> S, ) -> Self::WithLabel<S>

Source

fn forget_labels(&self) -> Self::WithLabel<()>

Source

fn into_forget_labels(self) -> Self::WithLabel<()>

Source

fn common_label<'a>( &'a self, simplexes: impl Iterator<Item = &'a Simplex<'f, FS>>, ) -> Option<&'a T>
where FS: 'a, AffineSpace<'f, FS>: 'a, 'f: 'a,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§