50 return c ==
'A' ? 0u :
92 return c ==
'A' ? 0u :
121 template <Alphabet ALPHABET>
126 else if (ALPHABET ==
DNA_N)
132 else if (ALPHABET ==
RNA)
134 else if (ALPHABET ==
RNA_N)
136 else if (ALPHABET ==
ASCII)
144 template <Alphabet ALPHABET>
149 else if (ALPHABET ==
DNA_N)
155 else if (ALPHABET ==
RNA)
157 else if (ALPHABET ==
RNA_N)
159 else if (ALPHABET ==
ASCII)
167 template <Alphabet ALPHABET,
typename SymbolIterator>
169 const SymbolIterator
begin,
173 for (
uint32 i = 0; i < n; ++i)
174 string[i] = to_char<ALPHABET>( begin[i] );
181 template <Alphabet ALPHABET,
typename SymbolIterator>
183 const SymbolIterator
begin,
184 const SymbolIterator end,
187 for (SymbolIterator it = begin; it != end; ++it)
188 string[ (it - begin) % (end -
begin) ] = to_char<ALPHABET>( *it );
190 string[ end -
begin ] =
'\0';
195 template <Alphabet ALPHABET,
typename SymbolIterator>
199 SymbolIterator symbols)
201 for (
const char* it = begin; it != end; ++it)
202 symbols[ (it - begin) % (end -
begin) ] = from_char<ALPHABET>( *it );
207 template <Alphabet ALPHABET,
typename SymbolIterator>
210 SymbolIterator symbols)
212 for (
const char* it = begin; *it !=
'\0'; ++it)
213 symbols[ it - begin ] = from_char<ALPHABET>( *it );