Skip to main content

ScenarioSet

Struct ScenarioSet 

Source
pub struct ScenarioSet<T> { /* private fields */ }
Expand description

The common module records and containers. These explicit facade exports keep ordinary callers out of the component crate paths. Named alternatives with no implied time order.

Implementations§

Source§

impl<T> ScenarioSet<T>

Source

pub fn new(scenarios: Vec<Scenario<T>>) -> Result<ScenarioSet<T>, Error>

Source

pub fn get(&self, id: &str) -> Option<&T>

Look one scenario value up by its stable ID. Constant time: IDs are case sensitive and never normalized, and the index is built once.

Source

pub fn entry(&self, id: &str) -> Option<&Scenario<T>>

Look up the complete scenario entry by its stable ID.

Source

pub fn get_at(&self, position: usize) -> Option<&T>

Look up one scenario value by its insertion position.

Source

pub fn entry_at(&self, position: usize) -> Option<&Scenario<T>>

Look up one complete scenario entry by its insertion position.

Source

pub fn iter(&self) -> impl ExactSizeIterator

Source

pub fn len(&self) -> usize

Source

pub fn is_empty(&self) -> bool

Source§

impl<T> ScenarioSet<T>
where T: Clone,

Source

pub fn get_mut(&mut self, id: &str) -> Option<&mut T>

Mutably borrow one scenario value by ID through copy on write.

Source

pub fn entry_mut(&mut self, id: &str) -> Option<&mut Scenario<T>>

Mutably borrow one complete scenario entry by ID through copy on write. Its public mutable surface exposes only the value, preserving the validated ID index and probability sum.

Source

pub fn get_at_mut(&mut self, position: usize) -> Option<&mut T>

Mutably borrow one scenario value by insertion position.

Source

pub fn entry_at_mut(&mut self, position: usize) -> Option<&mut Scenario<T>>

Mutably borrow one complete scenario entry by insertion position.

Source

pub fn iter_mut(&mut self) -> impl ExactSizeIterator

Iterate over mutable scenario entries through one copy on write detachment. Entry identities and probabilities remain immutable.

Source

pub fn map_values<U>(self, map: impl FnMut(T) -> U) -> ScenarioSet<U>

Consume the set and map each scenario value while retaining identities, probabilities, order, and the already validated identity index. A uniquely owned set moves its values without cloning them; a shared set first performs the copy on write split.

Trait Implementations§

Source§

impl<T> Clone for ScenarioSet<T>

Source§

fn clone(&self) -> ScenarioSet<T>

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<T> Debug for ScenarioSet<T>
where T: Debug,

Source§

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

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

impl From<ScenarioSet<BalancedNetwork>> for PioValue

Source§

fn from(value: ScenarioSet<BalancedNetwork>) -> Self

Converts to this type from the input type.
Source§

impl From<ScenarioSet<MulticonductorNetwork>> for PioValue

Source§

fn from(value: ScenarioSet<MulticonductorNetwork>) -> Self

Converts to this type from the input type.
Source§

impl From<ScenarioSet<OperatingPoint<BalancedNetwork>>> for PioValue

Source§

fn from(value: ScenarioSet<OperatingPoint<BalancedNetwork>>) -> Self

Converts to this type from the input type.
Source§

impl From<ScenarioSet<OperatingPoint<MulticonductorNetwork>>> for PioValue

Source§

fn from(value: ScenarioSet<OperatingPoint<MulticonductorNetwork>>) -> Self

Converts to this type from the input type.
Source§

impl From<ScenarioSet<TimeSeries<BalancedNetwork>>> for PioValue

Source§

fn from(value: ScenarioSet<TimeSeries<BalancedNetwork>>) -> Self

Converts to this type from the input type.
Source§

impl From<ScenarioSet<TimeSeries<MulticonductorNetwork>>> for PioValue

Source§

fn from(value: ScenarioSet<TimeSeries<MulticonductorNetwork>>) -> Self

Converts to this type from the input type.
Source§

impl From<ScenarioSet<TimeSeries<OperatingPoint<BalancedNetwork>>>> for PioValue

Source§

fn from(value: ScenarioSet<TimeSeries<OperatingPoint<BalancedNetwork>>>) -> Self

Converts to this type from the input type.
Source§

impl From<ScenarioSet<TimeSeries<OperatingPoint<MulticonductorNetwork>>>> for PioValue

Source§

fn from( value: ScenarioSet<TimeSeries<OperatingPoint<MulticonductorNetwork>>>, ) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<T> Freeze for ScenarioSet<T>

§

impl<T> RefUnwindSafe for ScenarioSet<T>
where T: RefUnwindSafe,

§

impl<T> Send for ScenarioSet<T>
where T: Sync + Send,

§

impl<T> Sync for ScenarioSet<T>
where T: Sync + Send,

§

impl<T> Unpin for ScenarioSet<T>

§

impl<T> UnsafeUnpin for ScenarioSet<T>

§

impl<T> UnwindSafe for ScenarioSet<T>
where T: RefUnwindSafe,

Blanket Implementations§

§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

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
§

impl<T> ByRef<T> for T

§

fn by_ref(&self) -> &T

§

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

§

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> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Imply<T> for U
where T: ?Sized, U: ?Sized,

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.

§

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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V