Skip to main content

ArchitectureParameterDescription

Struct ArchitectureParameterDescription 

Source
pub struct ArchitectureParameterDescription { /* private fields */ }
Expand description

Complete, validated parameter-ownership declaration for an architecture.

Implementations§

Source§

impl ArchitectureParameterDescription

Source

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.

Source

pub const fn graph(&self) -> &ExecutionGraph

Returns the canonical execution graph that owns these parameter groups.

Source

pub const fn unit_layout(&self) -> &ExecutionUnitLayout

Returns the canonical architecture-global execution-unit layout that owns these parameter groups.

Source

pub fn validate_architecture<B, S, M>( &self, architecture: &M, ) -> Result<(), ArchitecturePartitionError>

Proves that this description still matches a concrete neutral architecture.

Source

pub fn groups(&self) -> &[OwnedParameterGroupSpec]

Returns every explicitly tagged neutral parameter group.

Source

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.

Source

pub fn select_owned<G, A>( &self, partition: &ArchitecturePartition<G, A>, ) -> Vec<OwnedParameterGroupSpec>

Selects rank-owned groups without discarding their architecture owner.

Source

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

Source§

fn clone(&self) -> ArchitectureParameterDescription

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ArchitectureParameterDescription

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for ArchitectureParameterDescription

Source§

impl PartialEq for ArchitectureParameterDescription

Source§

fn eq(&self, other: &ArchitectureParameterDescription) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ArchitectureParameterDescription

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.