pub struct AVDCComputad<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S> { /* private fields */ }
Expand description
An augmented virtual double computad.
The set of objects and the graphs of arrows and proarrows are assumed already constructed, possibly from other generating data, while the top-dimensional generating data is provided directly.
We say “augmented” because the generating squares have co-arity zero or one, like the cells in an augmented VDC (Koudenburg 2020), though we use such computads to generate unital VDCs.
Implementations§
Source§impl<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S> AVDCComputad<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S>
impl<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S> AVDCComputad<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S>
pub const fn new( objects: &'a ObSet, arrows: &'a ArrGraph, proarrows: &'a ProGraph, computad: &'a AVDCComputadTop<Ob, Arr, Pro, Sq, S>, ) -> AVDCComputad<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S>
Source§impl<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S> AVDCComputad<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S>
impl<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S> AVDCComputad<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S>
Sourcepub fn iter_invalid<E, ProE>(
&self,
) -> impl Iterator<Item = InvalidVDblGraph<E, ProE, Sq>>
pub fn iter_invalid<E, ProE>( &self, ) -> impl Iterator<Item = InvalidVDblGraph<E, ProE, Sq>>
Iterates over failures to be a valid virtual double graph.
Note that this method assumes that the graphs of objects and (pro)arrows are already valid. If that is in question, validate them first.
Trait Implementations§
Source§impl<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S> VDblGraph for AVDCComputad<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S>
impl<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S> VDblGraph for AVDCComputad<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S>
Source§fn has_vertex(&self, v: &Self::V) -> bool
fn has_vertex(&self, v: &Self::V) -> bool
Does the vertex belong to the double graph?
Source§fn has_proedge(&self, p: &Self::ProE) -> bool
fn has_proedge(&self, p: &Self::ProE) -> bool
Does the proedge belong to the double graph?
Source§fn has_square(&self, sq: &Self::Sq) -> bool
fn has_square(&self, sq: &Self::Sq) -> bool
Does the square belong to the double graph?
Source§fn square_dom(&self, sq: &Self::Sq) -> Path<Self::V, Self::ProE>
fn square_dom(&self, sq: &Self::Sq) -> Path<Self::V, Self::ProE>
Gets the domain of a square, a path of proedges.
Source§fn square_cod(&self, sq: &Self::Sq) -> Self::ProE
fn square_cod(&self, sq: &Self::Sq) -> Self::ProE
Gets the codomain of a square, a single proedge.
Source§fn square_src(&self, sq: &Self::Sq) -> Self::E
fn square_src(&self, sq: &Self::Sq) -> Self::E
Gets the source of a square, an edge.
Source§fn square_tgt(&self, sq: &Self::Sq) -> Self::E
fn square_tgt(&self, sq: &Self::Sq) -> Self::E
Gets the target of a square, an edge.
Auto Trait Implementations§
impl<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S> Freeze for AVDCComputad<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S>
impl<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S> RefUnwindSafe for AVDCComputad<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S>where
ObSet: RefUnwindSafe,
ArrGraph: RefUnwindSafe,
ProGraph: RefUnwindSafe,
S: RefUnwindSafe,
Sq: RefUnwindSafe,
Arr: RefUnwindSafe,
Ob: RefUnwindSafe,
Pro: RefUnwindSafe,
impl<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S> Send for AVDCComputad<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S>
impl<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S> Sync for AVDCComputad<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S>
impl<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S> Unpin for AVDCComputad<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S>
impl<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S> UnwindSafe for AVDCComputad<'a, Ob, Arr, Pro, ObSet, ArrGraph, ProGraph, Sq, S>where
ObSet: RefUnwindSafe,
ArrGraph: RefUnwindSafe,
ProGraph: RefUnwindSafe,
S: RefUnwindSafe,
Sq: RefUnwindSafe,
Arr: RefUnwindSafe,
Ob: RefUnwindSafe,
Pro: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.