Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: SkeletOSS/ccc

v0.60.0

17 Dec 22:28

Choose a tag to compare

Release Notes:

v0.51.0

12 Dec 07:04

Choose a tag to compare

Release Notes:

  • Add new initializers.
  • _with_compound_literal and with_context_compound_literal make initializing fixed size containers without allocation permission much simpler.

v0.50.0

09 Dec 23:00

Choose a tag to compare

Release Notes:

  • Rename all remove functions for associative containers to remove_key_value. Avoids name collision when name shortening with stdio.h's remove function.

v0.40.0

05 Dec 00:08

Choose a tag to compare

Release Notes:

  • Holistic review of API naming and style.
  • Add CCC_ prefix to all user facing headers. Per header name shortening available.
  • Types get Leading_snake_case -> CCC_Flat_hash_map -> Flat_hash_map.
  • Constants get UPPER_CASE -> CCC_BITSET_BLOCK_BITS.
  • Functions get snake_case -> CCC_flat_hash_map_entry(...)
  • Abbreviations banned in user facing headers ccc_fpq_push(...) -> CCC_flat_priority_queue_push(...).
  • Contributing document updated with naming conventions and style rationale.
  • All containers given a *_from constructor, similar to Rust's from trait. Uses C99 compound literal arrays to infer types and initialize.
  • All containers with contiguous storage as underlying representations in memory given *_with_capacity constructor, similar to Rust's with_capacity trait.
  • Bitset given consistent range input arguments API to leading and trailing bit functions.
  • Ordered maps given more concise informative names: Tree_map, Array_tree_map, Adaptive_map, Array_adaptive_map. Struct of array design documented more thoroughly.
  • Tests of all containers improved.
  • Containers no longer have self referential fields or sentinel node based implementations. This means the core metadata struct of every container can be safely and trivially copied and returned from stack frames. Users can now organize code how they wish and wrap container initializers in their own constructor functions. Shallow copies can be done at the user's own risk, but are well defined by the container implementations as no self referential fields exist.

v0.39.0

07 Nov 21:16

Choose a tag to compare

Release Notes:

  • Eliminate ccc_key_eq types and comparison functions.
  • Hash maps or any other containers that rely on equality will use internal logic to complete this check allowing the user to always provide one consistent three way comparison function.
  • API is narrowed down and less confusing.

v0.38.3

01 Aug 05:21

Choose a tag to compare

v0.38.2

30 Jul 23:44

Choose a tag to compare

Release Notes:

  • Flat hash map now uses aligned loads internally whenever possible for faster iteration.

v0.38.1

15 Jul 21:19

Choose a tag to compare

v0.37.1

15 Jul 02:31

Choose a tag to compare

Release Notes:

  • Guarantee space for swap slot during heap sort.

v0.37.0

15 Jul 01:46

Choose a tag to compare

Release Notes:

  • Add new destructive heap sort to ccc_flat_priority_queue interface that destroys the heap returning its underlying ccc_buffer as a sorted array.
    • O(N * log(N)) strict runtime.
    • O(1) space.
    • No copies or movement of underlying data (in-place).
    • No recursion.