Skip to main content

TimeSeries

Struct TimeSeries 

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

The common module records and containers. These explicit facade exports keep ordinary callers out of the component crate paths. Ordered complete values of one Rust type.

Implementations§

Source§

impl<T> TimeSeries<T>

Source

pub fn new( time_points: Vec<TimePoint>, values: Vec<T>, ) -> Result<TimeSeries<T>, Error>

Source

pub fn time_points(&self) -> &[TimePoint]

Source

pub fn values(&self) -> &[T]

Source

pub fn get(&self, index: usize) -> Option<&T>

Source

pub fn entry(&self, index: usize) -> Option<(&TimePoint, &T)>

Look up one complete entry when its time metadata is also needed.

Source

pub fn time_point(&self, index: usize) -> Option<&TimePoint>

Source

pub fn iter(&self) -> impl ExactSizeIterator

Source

pub fn len(&self) -> usize

Source

pub fn is_empty(&self) -> bool

Source§

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

Source

pub fn values_mut(&mut self) -> &mut [T]

Mutably borrow all values through copy on write. Time metadata remains shared because editing a value never changes its position.

Source

pub fn get_mut(&mut self, index: usize) -> Option<&mut T>

Mutably borrow one value through copy on write.

Source

pub fn entry_mut(&mut self, index: usize) -> Option<(&TimePoint, &mut T)>

Mutably borrow one value together with its immutable time metadata.

Source

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

Iterate over mutable values and immutable time metadata through one copy on write detachment.

Source

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

Consume the series and map each complete value while retaining the time axis. A uniquely owned series moves its values into map without cloning them; a shared series first performs the copy on write split.

Trait Implementations§

Source§

impl<T> Clone for TimeSeries<T>

Source§

fn clone(&self) -> TimeSeries<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 TimeSeries<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<TimeSeries<BalancedNetwork>> for PioValue

Source§

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

Converts to this type from the input type.
Source§

impl From<TimeSeries<MulticonductorNetwork>> for PioValue

Source§

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

Converts to this type from the input type.
Source§

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

Source§

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

Converts to this type from the input type.
Source§

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

Source§

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

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<T> Freeze for TimeSeries<T>

§

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

§

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

§

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

§

impl<T> Unpin for TimeSeries<T>

§

impl<T> UnsafeUnpin for TimeSeries<T>

§

impl<T> UnwindSafe for TimeSeries<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