Skip to content

Commit 1e69032

Browse files
committed
rad
1 parent 835371d commit 1e69032

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

src/table_column.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ pub trait TableColumn<I, T>:
3939
+ std::ops::Index<crate::SizeType, Output = T>
4040
{
4141
fn as_slice(&self) -> &[T];
42+
fn get(&self, at: usize) -> Option<&T>;
43+
fn get_with_id(&self, at: I) -> Option<&T>;
44+
fn get_with_size_type(&self, at: crate::SizeType) -> Option<&T>;
4245
}
4346

4447
impl<I, T> TableColumn<I, T> for OpaqueTableColumn<'_, T>
@@ -48,6 +51,18 @@ where
4851
fn as_slice(&self) -> &[T] {
4952
self.0
5053
}
54+
55+
fn get(&self, at: usize) -> Option<&T> {
56+
self.0.get(at)
57+
}
58+
59+
fn get_with_id(&self, at: I) -> Option<&T> {
60+
self.0.get(at.try_into().unwrap())
61+
}
62+
63+
fn get_with_size_type(&self, at: crate::SizeType) -> Option<&T> {
64+
self.0.get(usize::try_from(at).unwrap())
65+
}
5166
}
5267
// macro_rules! make_table_column {
5368
// ($name: ident, $index: ident) => {

tests/test_tables.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use tskit::TableColumn;
2+
13
#[test]
24
fn test_empty_table_collection() {
35
macro_rules! validate_empty_tables {

0 commit comments

Comments
 (0)