|
HIBF 1.0.0-rc.1
|
A finding of seqan::hibf::layout::layout::validate. More...
#include <hibf/layout/layout.hpp>
Public Types | |
| enum class | code : uint8_t { empty_layout , no_technical_bins , technical_bin_overflow , user_bin_out_of_range , duplicate_user_bin , missing_user_bin , overlapping_technical_bins , top_level_max_bin_entry , max_bin_without_ibf , duplicate_max_bin , invalid_max_bin , max_bin_exceeds_root , missing_max_bin , technical_bin_exceeds_tmax , single_bin_ibf , unexpected_empty_bins , empty_technical_bins } |
| The kind of finding. The errors are listed roughly in the order the checks are run. More... | |
| enum class | severity : uint8_t { note , warning , error } |
| How grave a finding is. | |
Public Attributes | |
| std::optional< std::vector< size_t > > | ibf {} |
| The merged bins on the path to the affected IBF, empty for the Root-IBF. std::nullopt: no IBF. | |
| severity | level {} |
| How grave the finding is. | |
| std::string | message {} |
| A human-readable description. | |
| std::optional< size_t > | technical_bin {} |
The affected technical bin of ibf, if any. | |
| std::optional< size_t > | user_bin {} |
| The affected user bin index, if any. | |
| code | what {} |
Friends | |
|
template<typename stream_type , std::same_as< diagnostic > diagnostic_t> requires std::derived_from<stream_type, std::ostream> | |
| stream_type & | operator<< (stream_type &stream, diagnostic_t const &object) |
Prints [HIBF LAYOUT <SEVERITY>] <message>, like std::format("{}", object). | |
A finding of seqan::hibf::layout::layout::validate.
Errors describe layouts that cannot be used to build an HIBF. Warnings describe layouts that can be used, but probably do not match the intention. Notes are informational.
|
strong |
The kind of finding. The errors are listed roughly in the order the checks are run.
| Enumerator | |
|---|---|
| empty_layout | The layout contains no user bins. |
| no_technical_bins | A user bin occupies zero technical bins. |
| technical_bin_overflow | An IBF would have more than |
| user_bin_out_of_range | A user bin index is not below |
| duplicate_user_bin | A user bin index occurs more than once. |
| missing_user_bin | A user bin index is missing from the layout. |
| overlapping_technical_bins | Within an IBF, a technical bin is used more than once. |
| top_level_max_bin_entry |
|
| max_bin_without_ibf |
|
| duplicate_max_bin |
|
| invalid_max_bin | A max bin is neither a merged bin nor a user bin's first technical bin. |
| max_bin_exceeds_root | A max bin spans more than |
| missing_max_bin |
|
| technical_bin_exceeds_tmax | An IBF, with its empty bins, exceeds |
| single_bin_ibf | A lower-level IBF only contains a single user bin or merged bin. |
| unexpected_empty_bins | An IBF does not end with the empty TBs |
| empty_technical_bins | An IBF has empty technical bins between its used technical bins. |
| code seqan::hibf::layout::layout::diagnostic::what {} |
The kind of finding.