Skip to content

Releases: Morwenn/cpp-sort

1.1.0 — New job

18 Feb 16:07
bf016b8
Compare
Choose a tag to compare

This release doesn't bring many new things into cpp-sort, but has a few worthwhile bug & consistency fixes. I got a new job, hence the release name, and wanted to push everything that was ready because I might not be as active on the project for some time.

There were a few global efforts to reduce unneeded template instantiations, reduce the produced binary size and improve compile times a bit, but these changes are anecdotal at best, and probably don't make a noticeable difference.

New features

  • New measure of presortedness: probe::mono, after the equivalent Mono described in Sort Race by Zhang, Meng and Liang

Bug fixes

  • Fix compiler error in hybrid_adapter when too many sorters of the same category are passed
  • Make sure all adapted sorters can also be converted to function pointers
  • Fix probe::runs: it only took increasing sequences into account and didn't behave properly with non-increasing ones (where several elements in an increasing sequence compare equivalent)
  • Properly perfect-forward iterable parameters in hybrid_adapter
  • Actually provide container_aware_adapter when including <cpp-sort/adapters.h>
  • Apply utility::as_function to the comparison and projection functions passed to self_sort_adapter, fixing a few errors when it is used with pointers to class members

Tiny improvements

  • Don't copy instances of locale in case_insensitive_less
  • Actually create a minimal number of poplars in poplar_sorter, even in corner cases
  • Tiny optimization in indirect_adapter
  • Don't wrap adapters in sorter_facade when they don't need to, slightly reducing the template "stack traces" when there are errors
  • Small changes here and there to reduce the binary size a bit

Tooling

  • Set up code coverage via codecov.io (#120)
  • Globally document exception guarantees for the library (#105)
  • Enable ccache for clang++ with the Linux CI
  • Simpler and more consistent .travis.yml where possible

1.0.0

20 Jan 18:12
4c7ef49
Compare
Choose a tag to compare

This release is merely a point in time where the project starts being versioned. A changelog would be meaningless since there is nothing to compare it against.