Skip to content

Commit

Permalink
set_prov
Browse files Browse the repository at this point in the history
  • Loading branch information
molpopgen committed Jul 21, 2022
1 parent 80f51bb commit cfd22ac
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions src/table_collection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1113,6 +1113,45 @@ impl TableCollection {
};
handle_tsk_return_value!(rv)
}

#[cfg(any(doc, feature = "provenance"))]
/// Set the provenance table from an [`OwnedProvenanceTable`](`crate::provenance::OwnedSiteTable`)
///
/// # Errors
///
/// Any errors from the C API propagate.
///
/// # Example
///
/// ```rust
/// # #[cfg(feature="provenance")] {
/// # use tskit::TableAccess;
/// let mut tables = tskit::TableCollection::new(1.0).unwrap();
/// let mut provenances = tskit::OwnedProvenanceTable::default();
/// provenances.add_row("I like pancakes").unwrap();
/// tables.set_provenances(&provenances).unwrap();
/// assert_eq!(tables.provenances().num_rows(), 1);
/// assert_eq!(tables.provenances().record(0), "I like pancakes");
/// # provenances.clear().unwrap();
/// # assert_eq!(provenances.num_rows(), 0);
/// # }
/// ```
pub fn set_provenances(
&mut self,
provenances: &crate::provenance::OwnedProvenanceTable,
) -> TskReturnValue {
let rv = unsafe {
ll_bindings::tsk_provenance_table_set_columns(
&mut (*self.inner).provenances,
(*provenances.as_ptr()).num_rows,
(*provenances.as_ptr()).timestamp,
(*provenances.as_ptr()).timestamp_offset,
(*provenances.as_ptr()).record,
(*provenances.as_ptr()).record_offset,
)
};
handle_tsk_return_value!(rv)
}
}

impl TableAccess for TableCollection {
Expand Down

0 comments on commit cfd22ac

Please sign in to comment.