Struct tskit::MutationTable

source ·
#[repr(transparent)]
pub struct MutationTable { /* private fields */ }
Expand description

An immutable view of site table.

Implementations§

source§

impl MutationTable

source

pub fn num_rows(&self) -> SizeType

Return the number of rows.

source

pub fn site<M: Into<MutationId> + Copy>(&self, row: M) -> Option<SiteId>

Return the site value from row row of the table.

Errors

Will return IndexError if row is out of range.

source

pub fn node<M: Into<MutationId> + Copy>(&self, row: M) -> Option<NodeId>

Return the node value from row row of the table.

Errors

Will return IndexError if row is out of range.

source

pub fn parent<M: Into<MutationId> + Copy>(&self, row: M) -> Option<MutationId>

Return the parent value from row row of the table.

Errors

Will return IndexError if row is out of range.

source

pub fn time<M: Into<MutationId> + Copy>(&self, row: M) -> Option<Time>

Return the time value from row row of the table.

Errors

Will return IndexError if row is out of range.

source

pub fn derived_state<M: Into<MutationId>>(&self, row: M) -> Option<&[u8]>

Get the derived_state value from row row of the table.

Return

Will return None if there is no derived state.

Errors

Will return IndexError if row is out of range.

source

pub fn metadata<T: MutationMetadata>( &self, row: MutationId ) -> Option<Result<T, TskitError>>

Retrieve decoded metadata for a row.

Returns
  • Some(Ok(T)) if row is valid and decoding succeeded.
  • Some(Err(_)) if row is not valid and decoding failed.
  • None if row is not valid.
Errors
Examples.

The big-picture semantics are the same for all table types. See crate::IndividualTable::metadata for examples.

source

pub fn iter(&self) -> impl Iterator<Item = MutationTableRow> + '_

Return an iterator over rows of the table. The value of the iterator is MutationTableRow.

source

pub fn lending_iter(&self) -> MutationTableRowView<'_>

source

pub fn row<M: Into<MutationId> + Copy>(&self, r: M) -> Option<MutationTableRow>

Return row r of the table.

Parameters
  • r: the row id.
Returns
  • Some(row) if r is valid
  • None otherwise
source

pub fn row_view<M: Into<MutationId> + Copy>( &self, r: M ) -> Option<MutationTableRowView<'_>>

Return a view of row r of the table.

Parameters
  • r: the row id.
Returns
  • Some(row view) if r is valid
  • None otherwise
source

pub fn node_slice(&self) -> &[NodeId]

Get the node column as a slice

source

pub fn node_slice_raw(&self) -> &[tsk_id_t]

Get the node column as a slice

source

pub fn site_slice(&self) -> &[SiteId]

Get the site column as a slice

source

pub fn site_slice_raw(&self) -> &[tsk_id_t]

Get the site column as a slice

source

pub fn time_slice(&self) -> &[Time]

Get the time column as a slice

source

pub fn time_slice_raw(&self) -> &[f64]

Get the time column as a slice

source

pub fn parent_slice(&self) -> &[MutationId]

Get the parent column as a slice

source

pub fn parent_slice_raw(&self) -> &[tsk_id_t]

Get the parent column as a slice

Trait Implementations§

source§

impl Debug for MutationTable

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> Free for T

source§

unsafe default fn free(ptr_ref: NonNull<T>)

Drops the content pointed by this pointer and frees it. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.