Skip to content

Draft C API release

Pre-release
Pre-release
Compare
Choose a tag to compare
@jeromekelleher jeromekelleher released this 28 Jan 11:30
f24ad8d

Draft of the C API. The tables API should be quite mature and well documented. Changes will only be made if serious problems occur. The tree sequence and tree APIs are more provisional and are subject to changes.

Changes:

  • Change the _tbl_ abbreviation to _table_ to improve readability. Hence, we now have, e.g., tsk_node_table_t etc.
  • Change tsk_tbl_size_t to tsk_size_t.
  • Standardise public API to use tsk_size_t and tsk_id_t as appropriate.
  • Add tsk_flags_t typedef and consistently use this as the type used to encode bitwise flags. To avoid confusion, functions now have an options parameter.
  • Rename tsk_table_collection_position_t to tsk_bookmark_t.
  • Rename tsk_table_collection_reset_position to tsk_table_collection_truncate and tsk_table_collection_record_position to tsk_table_collection_record_num_rows.
  • Generalise tsk_table_collection_sort to take a bookmark as start argument.
  • Relax restriction that nodes in the samples argument to simplify must currently be marked as samples. (#72)
  • Allow tsk_table_collection_simplify to take a NULL samples argument to specify "all samples in the current tables".
  • Add support for building as a meson subproject.