SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
seqan3::detail::char_predicate_base< derived_t > Struct Template Reference

An abstract CRTP base class for parse conditions to add logical disjunction and negation operator. More...

#include <seqan3/utility/char_operations/predicate_detail.hpp>

+ Inheritance diagram for seqan3::detail::char_predicate_base< derived_t >:

Public Types

using data_t = constexpr_pseudo_bitset< 257 >
 Type of the data field; as soon as std::bitset is fully constexpr, use that instead!
 

Public Member Functions

Logical operators

Adds logical operators to allow logical disjunction, conjunction and negation on parse conditions.

template<char_predicate rhs_t>
constexpr auto operator|| (rhs_t const &) const
 Combines the result of two seqan3::detail::char_predicate via logical disjunction.
 
constexpr auto operator! () const
 Return a new condition with all bits flipped.
 
Function call operator
template<std::integral value_t>
requires (sizeof(value_t) == 1)
constexpr bool operator() (value_t const val) const noexcept
 Invokes the condition on val.
 
template<std::integral value_t>
requires (sizeof(value_t) != 1)
constexpr bool operator() (value_t const val) const noexcept
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
Output functions
std::string message () const
 Returns the message representing this condition as std::string.
 

Detailed Description

template<typename derived_t>
struct seqan3::detail::char_predicate_base< derived_t >

An abstract CRTP base class for parse conditions to add logical disjunction and negation operator.

Template Parameters
derived_tThe parse condition type to be extended with the logical operators. Must model seqan3::detail::char_predicate.

The documentation for this struct was generated from the following file:
Hide me