Skip to content

Commit 835371d

Browse files
committed
bring it back
1 parent 231c42e commit 835371d

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ pub use site_table::{SiteTable, SiteTableRow};
117117
pub use sys::flags::*;
118118
pub use sys::NodeTraversalOrder;
119119
pub use table_collection::TableCollection;
120+
pub use table_column::TableColumn;
120121
pub use traits::IndividualLocation;
121122
pub use traits::IndividualParents;
122123
pub use trees::{Tree, TreeSequence};

src/node_table.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -807,21 +807,21 @@ impl NodeTable {
807807
/// Get the population column as a slice
808808
=> population, population_slice_raw, crate::sys::bindings::tsk_id_t);
809809

810-
//pub fn individual_column(&self) -> crate::table_column::NodeTableColumn<IndividualId> {
811-
// crate::NodeTableColumn::new(self.individual_slice())
812-
//}
810+
pub fn individual_column(&self) -> impl crate::TableColumn<NodeId, IndividualId> + '_ {
811+
crate::table_column::OpaqueTableColumn(self.individual_slice())
812+
}
813813

814-
//pub fn population_column(&self) -> crate::NodeTableColumn<PopulationId> {
815-
// crate::NodeTableColumn::new(self.population_slice())
816-
//}
814+
pub fn population_column(&self) -> impl crate::TableColumn<NodeId, PopulationId> + '_ {
815+
crate::table_column::OpaqueTableColumn(self.population_slice())
816+
}
817817

818-
//pub fn time_column(&self) -> crate::NodeTableColumn<Time> {
819-
// crate::NodeTableColumn::new(self.time_slice())
820-
//}
818+
pub fn time_column(&self) -> impl crate::TableColumn<NodeId, Time> + '_ {
819+
crate::table_column::OpaqueTableColumn(self.time_slice())
820+
}
821821

822-
//pub fn flags_column(&self) -> crate::NodeTableColumn<NodeFlags> {
823-
// crate::NodeTableColumn::new(self.flags_slice())
824-
//}
822+
pub fn flags_column(&self) -> impl crate::TableColumn<NodeId, NodeFlags> + '_ {
823+
crate::table_column::OpaqueTableColumn(self.flags_slice())
824+
}
825825

826826
/// Clear all data from the table
827827
pub fn clear(&mut self) -> Result<i32, TskitError> {

src/table_column.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ impl<T> std::ops::Index<usize> for OpaqueTableColumn<'_, T> {
1313
trait NewTypeMarker: TryInto<usize, Error = crate::TskitError> {}
1414

1515
impl NewTypeMarker for crate::EdgeId {}
16+
impl NewTypeMarker for crate::NodeId {}
1617

1718
impl<T> std::ops::Index<crate::SizeType> for OpaqueTableColumn<'_, T> {
1819
type Output = T;

0 commit comments

Comments
 (0)