pub struct ArchitectureParameterDescription { /* private fields */ }Expand description
Complete, validated parameter-ownership declaration for an architecture.
Implementations§
Source§impl ArchitectureParameterDescription
impl ArchitectureParameterDescription
Sourcepub fn new(
graph: &ExecutionGraph,
layout: &ExecutionUnitLayout,
expected: impl IntoIterator<Item = ParameterGroupSpec>,
groups: impl IntoIterator<Item = OwnedParameterGroupSpec>,
) -> Result<Self, ArchitectureParameterError>
pub fn new( graph: &ExecutionGraph, layout: &ExecutionUnitLayout, expected: impl IntoIterator<Item = ParameterGroupSpec>, groups: impl IntoIterator<Item = OwnedParameterGroupSpec>, ) -> Result<Self, ArchitectureParameterError>
Validates explicit ownership against the canonical graph/layout and an authoritative set of neutral parameter groups.
Sourcepub const fn graph(&self) -> &ExecutionGraph
pub const fn graph(&self) -> &ExecutionGraph
Returns the canonical execution graph that owns these parameter groups.
Sourcepub const fn unit_layout(&self) -> &ExecutionUnitLayout
pub const fn unit_layout(&self) -> &ExecutionUnitLayout
Returns the canonical architecture-global execution-unit layout that owns these parameter groups.
Sourcepub fn validate_architecture<B, S, M>(
&self,
architecture: &M,
) -> Result<(), ArchitecturePartitionError>
pub fn validate_architecture<B, S, M>( &self, architecture: &M, ) -> Result<(), ArchitecturePartitionError>
Proves that this description still matches a concrete neutral architecture.
Sourcepub fn groups(&self) -> &[OwnedParameterGroupSpec]
pub fn groups(&self) -> &[OwnedParameterGroupSpec]
Returns every explicitly tagged neutral parameter group.
Sourcepub fn targets_for_role(&self, role: ParameterRole) -> BTreeSet<String>
pub fn targets_for_role(&self, role: ParameterRole) -> BTreeSet<String>
Returns every physical target owned by groups with the supplied semantic role.
Selection happens after architecture ownership has been assigned, so callers do not need to rediscover families, aliases, or packed companions from target name syntax.
Sourcepub fn select_owned<G, A>(
&self,
partition: &ArchitecturePartition<G, A>,
) -> Vec<OwnedParameterGroupSpec>
pub fn select_owned<G, A>( &self, partition: &ArchitecturePartition<G, A>, ) -> Vec<OwnedParameterGroupSpec>
Selects rank-owned groups without discarding their architecture owner.
Sourcepub fn select_static_roles<'a, G, A>(
&'a self,
partition: &ArchitecturePartition<G, A>,
) -> Vec<&'a str>
pub fn select_static_roles<'a, G, A>( &'a self, partition: &ArchitecturePartition<G, A>, ) -> Vec<&'a str>
Returns canonical static storage roles selected for one partition.
Shared owners always return their first declared role, while any later roles only act as ownership consumers.
Trait Implementations§
Source§impl Clone for ArchitectureParameterDescription
impl Clone for ArchitectureParameterDescription
Source§fn clone(&self) -> ArchitectureParameterDescription
fn clone(&self) -> ArchitectureParameterDescription
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more