65 template <
typename type>
67 concept aminoacid_concept = requires (type v)
69 requires alphabet_concept<type>;
70 { std::remove_reference_t<type>::A } -> std::remove_reference_t<type>;
71 { std::remove_reference_t<type>::B } -> std::remove_reference_t<type>;
72 { std::remove_reference_t<type>::C } -> std::remove_reference_t<type>;
73 { std::remove_reference_t<type>::D } -> std::remove_reference_t<type>;
74 { std::remove_reference_t<type>::E } -> std::remove_reference_t<type>;
75 { std::remove_reference_t<type>::F } -> std::remove_reference_t<type>;
76 { std::remove_reference_t<type>::G } -> std::remove_reference_t<type>;
77 { std::remove_reference_t<type>::H } -> std::remove_reference_t<type>;
78 { std::remove_reference_t<type>::I } -> std::remove_reference_t<type>;
79 { std::remove_reference_t<type>::J } -> std::remove_reference_t<type>;
80 { std::remove_reference_t<type>::K } -> std::remove_reference_t<type>;
81 { std::remove_reference_t<type>::L } -> std::remove_reference_t<type>;
82 { std::remove_reference_t<type>::M } -> std::remove_reference_t<type>;
83 { std::remove_reference_t<type>::N } -> std::remove_reference_t<type>;
84 { std::remove_reference_t<type>::O } -> std::remove_reference_t<type>;
85 { std::remove_reference_t<type>::P } -> std::remove_reference_t<type>;
86 { std::remove_reference_t<type>::Q } -> std::remove_reference_t<type>;
87 { std::remove_reference_t<type>::R } -> std::remove_reference_t<type>;
88 { std::remove_reference_t<type>::S } -> std::remove_reference_t<type>;
89 { std::remove_reference_t<type>::T } -> std::remove_reference_t<type>;
90 { std::remove_reference_t<type>::U } -> std::remove_reference_t<type>;
91 { std::remove_reference_t<type>::V } -> std::remove_reference_t<type>;
92 { std::remove_reference_t<type>::W } -> std::remove_reference_t<type>;
93 { std::remove_reference_t<type>::X } -> std::remove_reference_t<type>;
94 { std::remove_reference_t<type>::Y } -> std::remove_reference_t<type>;
95 { std::remove_reference_t<type>::Z } -> std::remove_reference_t<type>;
96 { std::remove_reference_t<type>::TERMINATOR } -> std::remove_reference_t<type>;
97 { std::remove_reference_t<type>::UNKNOWN } -> std::remove_reference_t<type>;
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:58
Core alphabet concept and free function/metafunction wrappers.