Skip to main content

SampleTable

Struct SampleTable 

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

A table of sample values, with timestamps indexing rows and channels indexing columns. Values are stored in column-major order.

Implementations§

Source§

impl SampleTable

Source

pub fn new( timestamps: Vec<u64>, channels: Vec<ChannelStreamDescriptor>, values: Vec<ValueSeries>, ) -> Result<Self, SampleTableError>

Create a sample table from a list of timestamps, channels, and value series.

Each ValueSeries corresponds to the index-matched channel in channels, and must have the same length as timestamps.

Source

pub fn from_single_channel( timestamp: u64, channel: ChannelStreamDescriptor, value: Value, ) -> Self

Create a sample table with a single timestamp and single values for a single channel.

Source

pub fn from_multiple_channels( timestamp: u64, channels: Vec<ChannelStreamDescriptor>, values: Vec<Value>, ) -> Result<Self, SampleTableError>

Create a sample table with a single timestamp and single values for multiple channels.

Source

pub fn iter_rows<'values>( &'values self, ) -> Result<impl Iterator<Item = RowRef<'values>>, SampleTableError>

Lazily-evaluated iterator over the rows of the sample table.

Source

pub fn channels(&self) -> &[ChannelStreamDescriptor]

The channels in the sample table.

Source

pub fn timestamps(&self) -> &[u64]

The timestamps in the sample table.

Source

pub fn columns(&self) -> &[ValueSeries]

The columns in the sample table.

Source

pub fn get_channel_values( &self, channel: &ChannelStreamDescriptor, ) -> Option<&ValueSeries>

The values for a given channel.

Source

pub fn get_timestamped_channel_values( &self, channel: &ChannelStreamDescriptor, ) -> Option<impl Iterator<Item = (u64, ValueRef<'_>)>>

The values for a given channel and timestamp.

Source

pub fn num_points(&self) -> usize

The number of points in the stream.

Source

pub fn scale_channel( &mut self, channel: &ChannelStreamDescriptor, f: impl FnMut(ValueRef<'_>) -> Result<f64, String>, ) -> Result<(), SampleTableError>

Apply a scaling function to a channel’s values in place.

An error is returned if the channel specified is not present.

If any individual scaling operation fails, no further values are computed and the error is returned.

Trait Implementations§

Source§

impl Clone for SampleTable

Source§

fn clone(&self) -> SampleTable

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 SampleTable

Source§

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

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

impl Default for SampleTable

Source§

fn default() -> SampleTable

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for SampleTable

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for SampleTable

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,