catlog::dbl::model

Trait FgDblModel

Source
pub trait FgDblModel: DblModel + FgCategory {
    // Required methods
    fn ob_generator_type(&self, ob: &Self::ObGen) -> Self::ObType;
    fn mor_generator_type(&self, mor: &Self::MorGen) -> Self::MorType;

    // Provided methods
    fn ob_generators_with_type(
        &self,
        obtype: &Self::ObType,
    ) -> impl Iterator<Item = Self::ObGen> { ... }
    fn mor_generators_with_type(
        &self,
        mortype: &Self::MorType,
    ) -> impl Iterator<Item = Self::MorGen> { ... }
    fn objects_with_type(
        &self,
        obtype: &Self::ObType,
    ) -> impl Iterator<Item = Self::Ob> { ... }
    fn morphisms_with_type(
        &self,
        mortype: &Self::MorType,
    ) -> impl Iterator<Item = Self::Mor> { ... }
}
Expand description

A finitely generated model of a double theory.

Required Methods§

Source

fn ob_generator_type(&self, ob: &Self::ObGen) -> Self::ObType

Type of an object generator.

Source

fn mor_generator_type(&self, mor: &Self::MorGen) -> Self::MorType

Type of a morphism generator.

Provided Methods§

Source

fn ob_generators_with_type( &self, obtype: &Self::ObType, ) -> impl Iterator<Item = Self::ObGen>

Iterates over object generators with the given object type.

Source

fn mor_generators_with_type( &self, mortype: &Self::MorType, ) -> impl Iterator<Item = Self::MorGen>

Iterates over morphism generators with the given morphism type.

Source

fn objects_with_type( &self, obtype: &Self::ObType, ) -> impl Iterator<Item = Self::Ob>

Iterators over basic objects with the given object type.

Source

fn morphisms_with_type( &self, mortype: &Self::MorType, ) -> impl Iterator<Item = Self::Mor>

Iterates over basic morphisms with the given morphism type.

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§

Source§

impl<Id, Cat> FgDblModel for DiscreteDblModel<Id, Cat>
where Id: Eq + Clone + Hash, Cat: FgCategory, Cat::Ob: Hash, Cat::Mor: Hash,

Source§

impl<Id, ThId, S> FgDblModel for DiscreteTabModel<Id, ThId, S>
where Id: Eq + Clone + Hash, ThId: Eq + Clone + Hash, S: BuildHasher,