1 #ifndef LOCARNA_ALPHABET_HH
2 #define LOCARNA_ALPHABET_HH
20 template <
class T, std::
size_t N>
26 using size_type =
typename std::array<T,N>::size_type;
44 operator = (
const std::array<T, N> &a);
78 template <
class T,
size_t N>
83 #include "alphabet.icc"
Specifies an alphabet of static size.
Definition: alphabet.hh:21
Alphabet()
construct empty
Alphabet(const std::string &s)
construct from string (only T=char)
Alphabet(const std::array< T, N > &a)
construct from array of alphabet elements
size_type idx(const value_type &x) const
index of alphabet element
T value_type
type of an alphabet element
Definition: alphabet.hh:23
typename std::array< T, N >::size_type size_type
inherited size_type
Definition: alphabet.hh:26
bool in(const value_type &x) const
test alphabet element membership
Alphabet(const std::vector< T > &v)
construct from vector
Definition: aligner.cc:15
std::ostream & operator<<(std::ostream &out, const AlignerRestriction &r)
Definition: aligner_restriction.hh:135