27 namespace seqan3::detail
46 struct bz2_compression
60 struct zstd_compression
74 struct bgzf_compression
86 gz_compression::magic_header[0], gz_compression::magic_header[1], gz_compression::magic_header[2],
88 '\x04',
'\x00',
'\x00',
'\x00',
'\x00',
'\x00',
'\xff',
'\x06',
'\x00',
90 '\x42',
'\x43',
'\x02',
'\x00',
'\x00',
'\x00'
97 template <
typename char_t,
size_t extend>
98 static bool validate_header(std::span<char_t, extend> header)
100 static_assert(seqan3::detail::weakly_equality_comparable_with<char_t, char>,
101 "The given char type of the span must be comparable with char.");
103 return (header[0] == magic_header[0] &&
104 header[1] == magic_header[1] &&
105 header[2] == magic_header[2] &&
106 (header[3] & magic_header[3]) != 0 &&
107 to_little_endian(*
reinterpret_cast<uint16_t *
>(&header[10])) == magic_header[10] &&
108 header[12] == magic_header[12] &&
109 header[13] == magic_header[13] &&
110 to_little_endian(*
reinterpret_cast<uint16_t *
>(&header[14])) == magic_header[14]);
Provides utility functions for bit twiddling.
Provides concepts for core language types and relations that don't have concepts in C++20 (yet).
typename decltype(detail::drop_front< pack_t... >())::type drop_front
Return a seqan3::type_list of all the types in the type pack, except the first.
Definition: traits.hpp:287
Provides std::span from the C++20 standard library.
Provides seqan3::type_list and auxiliary type traits.
Provides traits for seqan3::type_list.
Provides seqan3::type_list.
Provides C++20 additions to the type_traits header.