#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![cfg_attr(doc_cfg, feature(doc_cfg))]
#![deny(rustdoc::broken_intra_doc_links)]
use std::ffi::c_char;
#[cfg(feature = "bindings")]
pub use sys::bindings;
const _: () = const { assert!(std::mem::size_of::<u8>() == std::mem::size_of::<c_char>()) };
const _: () =
const { assert!(std::mem::size_of::<u8>() == std::mem::size_of::<std::ffi::c_char>()) };
pub use streaming_iterator::DoubleEndedStreamingIterator;
pub use streaming_iterator::StreamingIterator;
mod _macros; mod edge_differences;
mod edge_table;
pub mod error;
mod individual_table;
pub mod metadata;
mod migration_table;
mod mutation_table;
mod newtypes;
mod node_table;
mod population_table;
pub mod prelude;
mod site_table;
mod sys;
mod table_collection;
mod table_column;
mod table_iterator;
mod traits;
mod trees;
pub mod types;
mod util;
pub use edge_differences::*;
pub use edge_table::{EdgeTable, EdgeTableRow};
pub use error::TskitError;
pub use individual_table::{IndividualTable, IndividualTableRow};
pub use migration_table::{MigrationTable, MigrationTableRow};
pub use mutation_table::{MutationTable, MutationTableRow};
pub use newtypes::*;
pub use node_table::{NodeDefaults, NodeDefaultsWithMetadata, NodeTable, NodeTableRow};
pub use population_table::{PopulationTable, PopulationTableRow};
pub use site_table::{SiteTable, SiteTableRow};
pub use sys::flags::*;
pub use sys::NodeTraversalOrder;
pub use table_collection::TableCollection;
pub use traits::IndividualLocation;
pub use traits::IndividualParents;
pub use traits::TableColumn;
pub use trees::{Tree, TreeSequence};
#[cfg(feature = "provenance")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "provenance")))]
pub mod provenance;
pub type TskReturnValue = Result<i32, TskitError>;
pub type RawFlags = crate::sys::bindings::tsk_flags_t;
pub fn version() -> &'static str {
env!("CARGO_PKG_VERSION")
}
pub fn c_api_major_version() -> u32 {
sys::bindings::TSK_VERSION_MAJOR
}
pub fn c_api_minor_version() -> u32 {
sys::bindings::TSK_VERSION_MINOR
}
pub fn c_api_patch_version() -> u32 {
sys::bindings::TSK_VERSION_PATCH
}
pub fn c_api_version() -> String {
format!(
"{}.{}.{}",
c_api_major_version(),
c_api_minor_version(),
c_api_patch_version()
)
}
#[cfg(test)]
mod tests {
use super::c_api_version;
#[test]
fn test_c_api_version() {
let _ = c_api_version();
}
}
mod test_fixtures;