48 for (
size_t i = 0;
i < N; ++
i)
57 for (
size_t i = 0;
i < N; ++
i)
58 ret[
i] = !base_t::operator[](
i);
87template <
typename condition_t>
88struct char_predicate_base;
101template <
typename condition_t>
103 requires std::predicate<std::remove_reference_t<condition_t>,
char>;
141 requires (
sizeof...(condition_ts) >= 2)
142struct char_predicate_disjunction;
144template <
char_predicate condition_t>
145struct char_predicate_negator;
154template <
typename derived_t>
165 template <
char_predicate rhs_t>
182 template <std::
integral value_t>
184 requires (
sizeof(
value_t) == 1)
186 return derived_t::data[
static_cast<unsigned char>(
val)];
190 template <std::
integral value_t>
192 requires (
sizeof(
value_t) != 1)
202 std::same_as<value_t, std::char_traits<char>::int_type>,
205 std::same_as<value_t, std::char_traits<wchar_t>::int_type>,
208 std::same_as<value_t, std::char_traits<char8_t>::int_type>,
211 std::same_as<value_t, std::char_traits<char16_t>::int_type>,
216 static_assert(!std::same_as<char_value_t, void>,
"There is no valid character representation.");
219 : (char_trait::eq_int_type(
val, char_trait::eof())) ? derived_t::data[256]
230 return derived_t::msg;
246 requires (
sizeof...(condition_ts) >= 2)
267template <
char_predicate condition_t>
294template <u
int8_t
interval_first, u
int8_t
interval_last>
308 static constexpr data_t data = []()
constexpr
331 static_assert(
char_v ==
EOF ||
static_cast<uint64_t
>(
char_v) < 256,
"TODO");
350 ret[
static_cast<uint8_t
>(
char_v)] =
true;
Provides various type traits on generic types.
A data structure that implements a subset of std::bitset as constexpr.
Definition predicate_detail.hpp:36
constexpr constexpr_pseudo_bitset operator|(constexpr_pseudo_bitset rhs) const noexcept
Return a new bitset that is a logical disjunction of the two given ones.
Definition predicate_detail.hpp:46
constexpr constexpr_pseudo_bitset operator~() const noexcept
Return a new bitset with all bits flipped.
Definition predicate_detail.hpp:54
This concept encompasses exactly the types char, signed char, unsigned char, wchar_t,...
An internal concept to check if an object fulfills the requirements of a seqan3::detail::char_predica...
The internal SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
constexpr auto const & get(configuration< configs_t... > const &config) noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition configuration.hpp:412
An abstract CRTP base class for parse conditions to add logical disjunction and negation operator.
Definition predicate_detail.hpp:156
constexpr auto operator||(rhs_t const &) const
Combines the result of two seqan3::detail::char_predicate via logical disjunction.
Definition predicate_detail.hpp:166
constexpr_pseudo_bitset< 257 > data_t
Type of the data field; as soon as std::bitset is fully constexpr, use that instead!
Definition predicate_detail.hpp:158
std::string message() const
Returns the message representing this condition as std::string.
Definition predicate_detail.hpp:228
constexpr bool operator()(value_t const val) const noexcept
Invokes the condition on val.
Definition predicate_detail.hpp:183
constexpr bool operator()(value_t const val) const noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition predicate_detail.hpp:191
constexpr auto operator!() const
Return a new condition with all bits flipped.
Definition predicate_detail.hpp:172
Logical disjunction operator for parse conditions.
Definition predicate_detail.hpp:248
static std::string const msg
The message representing the disjunction of the associated conditions.
Definition predicate_detail.hpp:250
static constexpr data_t data
The look-up table that is used to evaluate the input.
Definition predicate_detail.hpp:258
Logical not operator for a parse condition.
Definition predicate_detail.hpp:269
static std::string const msg
The message representing the negation of the associated condition.
Definition predicate_detail.hpp:271
static constexpr data_t data
The look-up table that is used to evaluate the input.
Definition predicate_detail.hpp:279
Parse condition that checks if a given value is equal to char_v.
Definition predicate_detail.hpp:330
static std::string const msg
The message representing this condition.
Definition predicate_detail.hpp:334
static constexpr data_t data
The look-up table that is used to evaluate the input.
Definition predicate_detail.hpp:343
Parse condition that checks if a given value is in the range of rng_beg and interval_last.
Definition predicate_detail.hpp:297
Provides traits to inspect some information of a type, for example its name.
Provides concepts that do not have equivalents in C++20.