0.7.0
Summary: we now support LLVM/clang as a compiler; CIGARs have been much improved and there is a new container.
Added
- 🐉 Full support for Clang-16 as a compiler. This is a big milestone for 1.0.0!
- A new associative container:
bio::ranges::dictionary
. It has features ofstd::vector
andstd::unordered_map
at the cost of extra size. - New implementation for
bio::alphabet::cigar
. This is now 32bits in size (instead of 64bit) and ABI-compatible to BAM/htslib. bio::views::to_char
,bio::views::char_to<>
andbio::views::char_strictly_to<>
now work forbio::alphabet::cigar
(even though CIGARs are not full alphabets).
Fixed
bio::views::to_char
,bio::views::char_to<>
andbio::views::char_strictly_to<>
are now "no-op" views if no transformation needs to happen (e.g. when input and output alphabet would bechar
).- When using
find_package(biocpp COMPONENTS core io)
, the version strings were not set correctly.
Maintained
bio::ranges::small_string
now satisfies the std::ranges::view-concept for capacities <= 30.bio::views::interleave
has been redefined in terms ofbio::views::transform_by_pos
(much less code); should also be a bit faster now.- Clang-tidy is automatically run as part of the CI.
- Concepts are now properly supported and integrated into the documentation; doxygen-1.9.6 is recommended.
Renamed
bio::alphabet::nucleotide_alphabet
→bio::alphabet::nucleotide
(same foraminoacid_alphabet
,quality_alphabet
andwritable_quality_alphabet
).
Removed
bio::views::as_const
has been removed, use C++23'sstd::views::as_const
instead.bio::views::move
has been removed, use C++23'sstd::views::as_rvalue
instead.
API
- This release is not yet API-stable.
- This release is mostly backwards compatible with 0.6.0 (see changes above).