diff --git a/src/lib.rs b/src/lib.rs index 3b5fe0e0b..0aad69354 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -97,6 +97,7 @@ pub mod prelude; mod site_table; mod sys; mod table_collection; +mod table_column; mod table_iterator; mod traits; mod trees; @@ -116,6 +117,7 @@ pub use site_table::{SiteTable, SiteTableRow}; pub use sys::flags::*; pub use sys::NodeTraversalOrder; pub use table_collection::TableCollection; +pub use table_column::NodeTableColumn; pub use traits::IndividualLocation; pub use traits::IndividualParents; pub use trees::{Tree, TreeSequence}; diff --git a/src/node_table.rs b/src/node_table.rs index 4ce506690..2462b20d8 100644 --- a/src/node_table.rs +++ b/src/node_table.rs @@ -807,6 +807,22 @@ impl NodeTable { /// Get the population column as a slice => population, population_slice_raw, crate::sys::bindings::tsk_id_t); + pub fn individual_column(&self) -> crate::table_column::NodeTableColumn { + crate::NodeTableColumn::new(self.individual_slice()) + } + + pub fn population_column(&self) -> crate::NodeTableColumn { + crate::NodeTableColumn::new(self.population_slice()) + } + + pub fn time_column(&self) -> crate::NodeTableColumn