Skip to content

Commit cc97621

Browse files
authored
refactor: redo Tree internals (#711)
BREAKING CHANGE: remove Deref/DerefMut impl to removed TreeInterface
1 parent 7c68f28 commit cc97621

File tree

8 files changed

+979
-923
lines changed

8 files changed

+979
-923
lines changed

examples/haploid_wright_fisher.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ fn stress_test_total_branch_length() {
163163
if let Some(tree) = tree_iter.next() {
164164
let b = tree.total_branch_length(false).unwrap();
165165
let b2 = unsafe {
166-
tskit::bindings::tsk_tree_get_total_branch_length(tree.as_ptr(), -1, &mut x)
166+
tskit::bindings::tsk_tree_get_total_branch_length(tree.as_ll_ref(), -1, &mut x)
167167
};
168168
assert!(b2 >= 0, "{}", b2);
169169
assert!(f64::from(b) - x <= 1e-8);

src/_macros.rs

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -53,18 +53,6 @@ macro_rules! table_row_access {
5353
};
5454
}
5555

56-
macro_rules! iterator_for_nodeiterator {
57-
($ty: ty) => {
58-
impl Iterator for $ty {
59-
type Item = $crate::NodeId;
60-
fn next(&mut self) -> Option<Self::Item> {
61-
self.next_node();
62-
self.current_node()
63-
}
64-
}
65-
};
66-
}
67-
6856
/// Convenience macro to handle implementing
6957
/// [`crate::metadata::MetadataRoundtrip`]
7058
#[macro_export]

src/lib.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ mod table_collection;
9999
mod table_iterator;
100100
mod table_views;
101101
mod traits;
102-
mod tree_interface;
103102
mod trees;
104103
pub mod types;
105104
mod util;
@@ -115,10 +114,10 @@ pub use node_table::{NodeDefaults, NodeDefaultsWithMetadata, NodeTable, NodeTabl
115114
pub use population_table::{PopulationTable, PopulationTableRow};
116115
pub use site_table::{SiteTable, SiteTableRow};
117116
pub use sys::flags::*;
117+
pub use sys::NodeTraversalOrder;
118118
pub use table_collection::TableCollection;
119119
pub use traits::IndividualLocation;
120120
pub use traits::IndividualParents;
121-
pub use tree_interface::{NodeTraversalOrder, TreeInterface};
122121
pub use trees::{Tree, TreeSequence};
123122

124123
// Optional features

src/sys/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ pub use provenance_table::ProvenanceTable;
4242
pub use site_table::SiteTable;
4343
pub use table_collection::*;
4444
pub use tree::LLTree;
45+
pub use tree::NodeTraversalOrder;
4546
pub use treeseq::TreeSequence;
4647

4748
use traits::TskTeardown;

0 commit comments

Comments
 (0)