Trait tskit::TableAccess [−][src]
pub trait TableAccess {
Show methods
fn edges(&self) -> EdgeTable<'_>;
fn nodes(&self) -> NodeTable<'_>;
fn mutations(&self) -> MutationTable<'_>;
fn sites(&self) -> SiteTable<'_>;
fn populations(&self) -> PopulationTable<'_>;
fn migrations(&self) -> MigrationTable<'_>;
fn individuals(&self) -> IndividualTable<'_>;
fn edges_iter(&self, decode_metadata: bool) -> TableIterator<EdgeTable<'_>> { ... }
fn nodes_iter(&self, decode_metadata: bool) -> TableIterator<NodeTable<'_>> { ... }
fn mutations_iter(
&self,
decode_metadata: bool
) -> TableIterator<MutationTable<'_>> { ... }
fn sites_iter(&self, decode_metadata: bool) -> TableIterator<SiteTable<'_>> { ... }
fn populations_iter(
&self,
decode_metadata: bool
) -> TableIterator<PopulationTable<'_>> { ... }
fn migrations_iter(
&self,
decode_metadata: bool
) -> TableIterator<MigrationTable<'_>> { ... }
fn individuals_iter(
&self,
decode_metadata: bool
) -> TableIterator<IndividualTable<'_>> { ... }
}Immutable access to tables.
For objects that contain the full suite of tables, implementing this trait provides immutable access to their data.
For most types, the provided implementations of _iter
methods should do.
Examples
use tskit::TableAccess; let mut tables = tskit::TableCollection::new(1.).unwrap(); // The borrows are immuatble, so we can // take multiple table references from the same object. let e = tables.edges(); let n = tables.nodes();
The borrow checker will keep you from getting in trouble:
use tskit::TableAccess; let mut tables = tskit::TableCollection::new(1.).unwrap(); let e = tables.edges(); tables.add_edge(0.0, 1.0, 0, 1).unwrap(); let p = e.parent(0).unwrap(); // FAIL!
Required methods
fn edges(&self) -> EdgeTable<'_>[src]
Get reference to the EdgeTable.
fn nodes(&self) -> NodeTable<'_>[src]
Get reference to the NodeTable.
fn mutations(&self) -> MutationTable<'_>[src]
Get reference to the MutationTable.
fn sites(&self) -> SiteTable<'_>[src]
Get reference to the SiteTable.
fn populations(&self) -> PopulationTable<'_>[src]
Get reference to the PopulationTable.
fn migrations(&self) -> MigrationTable<'_>[src]
Get reference to the MigrationTable.
fn individuals(&self) -> IndividualTable<'_>[src]
Get reference to the IndividualTable.
Provided methods
fn edges_iter(&self, decode_metadata: bool) -> TableIterator<EdgeTable<'_>>[src]
Return an iterator over the edges.
See EdgeTable::iter for details.
fn nodes_iter(&self, decode_metadata: bool) -> TableIterator<NodeTable<'_>>[src]
Return an iterator over the nodes.
See NodeTable::iter for details.
fn mutations_iter(
&self,
decode_metadata: bool
) -> TableIterator<MutationTable<'_>>[src]
&self,
decode_metadata: bool
) -> TableIterator<MutationTable<'_>>
Return an iterator over the mutations.
See MutationTable::iter for details.
fn sites_iter(&self, decode_metadata: bool) -> TableIterator<SiteTable<'_>>[src]
Return an iterator over the sites.
See SiteTable::iter for details.
fn populations_iter(
&self,
decode_metadata: bool
) -> TableIterator<PopulationTable<'_>>[src]
&self,
decode_metadata: bool
) -> TableIterator<PopulationTable<'_>>
Return an iterator over the populations.
See PopulationTable::iter for details.
fn migrations_iter(
&self,
decode_metadata: bool
) -> TableIterator<MigrationTable<'_>>[src]
&self,
decode_metadata: bool
) -> TableIterator<MigrationTable<'_>>
Return an iterator over the migration events.
See MigrationTable::iter for details.
fn individuals_iter(
&self,
decode_metadata: bool
) -> TableIterator<IndividualTable<'_>>[src]
&self,
decode_metadata: bool
) -> TableIterator<IndividualTable<'_>>
Return an iterator over the individuals.
See IndividualTable::iter for details.