Skip to main content

DirectedHyperedgeParticipants

Trait DirectedHyperedgeParticipants 

Source
pub trait DirectedHyperedgeParticipants: TopologyBase {
    type SourceParticipants<'view>: Iterator<Item = Self::ElementId>
       where Self: 'view;
    type TargetParticipants<'view>: Iterator<Item = Self::ElementId>
       where Self: 'view;

    // Required methods
    fn source_participants(
        &self,
        hyperedge: Self::RelationId,
    ) -> Self::SourceParticipants<'_>;
    fn target_participants(
        &self,
        hyperedge: Self::RelationId,
    ) -> Self::TargetParticipants<'_>;
}
Expand description

Capability for traversing directed hyperedge participant sets.

Directed hypergraphs distinguish source-side and target-side participants. The core does not prescribe how a view stores those sets or whether they are derived from roles, separate indexes, or generated views.

Required Associated Types§

Source

type SourceParticipants<'view>: Iterator<Item = Self::ElementId> where Self: 'view

Iterator over source-side participants in one directed hyperedge.

Source

type TargetParticipants<'view>: Iterator<Item = Self::ElementId> where Self: 'view

Iterator over target-side participants in one directed hyperedge.

Required Methods§

Source

fn source_participants( &self, hyperedge: Self::RelationId, ) -> Self::SourceParticipants<'_>

Returns source-side participants for hyperedge.

Source

fn target_participants( &self, hyperedge: Self::RelationId, ) -> Self::TargetParticipants<'_>

Returns target-side participants for hyperedge.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§