pub struct EdgeTable { /* private fields */ }
Expand description
An immutable view of an edge table.
Implementations§
Source§impl EdgeTable
impl EdgeTable
Sourcepub fn parent<E: Into<EdgeId> + Copy>(&self, row: E) -> Option<NodeId>
pub fn parent<E: Into<EdgeId> + Copy>(&self, row: E) -> Option<NodeId>
Return the parent
value from row row
of the table.
§Returns
Some(parent)
ifu
is valid.None
otherwise.
Sourcepub fn child<E: Into<EdgeId> + Copy>(&self, row: E) -> Option<NodeId>
pub fn child<E: Into<EdgeId> + Copy>(&self, row: E) -> Option<NodeId>
Return the child
value from row row
of the table.
§Returns
Some(child)
ifu
is valid.None
otherwise.
Sourcepub fn left<E: Into<EdgeId> + Copy>(&self, row: E) -> Option<Position>
pub fn left<E: Into<EdgeId> + Copy>(&self, row: E) -> Option<Position>
Return the left
value from row row
of the table.
§Returns
Some(position)
ifu
is valid.None
otherwise.
Sourcepub fn right<E: Into<EdgeId> + Copy>(&self, row: E) -> Option<Position>
pub fn right<E: Into<EdgeId> + Copy>(&self, row: E) -> Option<Position>
Return the right
value from row row
of the table.
§Returns
Some(position)
ifu
is valid.None
otherwise.
Sourcepub fn metadata<T: EdgeMetadata>(
&self,
row: EdgeId,
) -> Option<Result<T, TskitError>>
pub fn metadata<T: EdgeMetadata>( &self, row: EdgeId, ) -> Option<Result<T, TskitError>>
Retrieve decoded metadata for a row
.
§Returns
Some(Ok(T))
ifrow
is valid and decoding succeeded.Some(Err(_))
ifrow
is not valid and decoding failed.None
ifrow
is not valid.
§Errors
TskitError::MetadataError
if decoding fails.
§Examples.
The big-picture semantics are the same for all table types.
See crate::IndividualTable::metadata
for examples.
Sourcepub fn iter(&self) -> impl Iterator<Item = EdgeTableRow> + '_
pub fn iter(&self) -> impl Iterator<Item = EdgeTableRow> + '_
Return an iterator over rows of the table.
The value of the iterator is EdgeTableRow
.
pub fn lending_iter(&self) -> EdgeTableRowView<'_>
Sourcepub fn left_slice(&self) -> &[Position]
pub fn left_slice(&self) -> &[Position]
Get the left column as a slice
Sourcepub fn left_slice_raw(&self) -> &[f64]
pub fn left_slice_raw(&self) -> &[f64]
Get the left column as a slice of f64
Sourcepub fn right_slice(&self) -> &[Position]
pub fn right_slice(&self) -> &[Position]
Get the right column as a slice
Sourcepub fn right_slice_raw(&self) -> &[f64]
pub fn right_slice_raw(&self) -> &[f64]
Get the left column as a slice of f64
Sourcepub fn parent_slice(&self) -> &[NodeId]
pub fn parent_slice(&self) -> &[NodeId]
Get the parent column as a slice
Sourcepub fn parent_slice_raw(&self) -> &[tsk_id_t]
pub fn parent_slice_raw(&self) -> &[tsk_id_t]
Get the parent column as a slice of crate::bindings::tsk_id_t
Sourcepub fn child_slice(&self) -> &[NodeId]
pub fn child_slice(&self) -> &[NodeId]
Get the child column as a slice
Sourcepub fn child_slice_raw(&self) -> &[tsk_id_t]
pub fn child_slice_raw(&self) -> &[tsk_id_t]
Get the child column as a slice of crate::bindings::tsk_id_t