1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
#include <seqan/sequence.h>
using namespace seqan;
//![func_exchange1]
void amino_exchangeFirstValues(String<AminoAcid> & str)
{
if (length(str) < 2)
return;
AminoAcid temp = str[0];
str[0] = str[1];
str[1] = temp;
}
//![func_exchange1]
//![func_exchange2]
template <typename T>
void general_exchangeFirstValues(T & str)
{
if (length(str) < 2)
return;
AminoAcid temp = str[0];
str[0] = str[1];
str[1] = temp;
}
//![func_exchange2]
//![func_exchange3]
template <typename T>
void exchangeFirstValues(T & str)
{
if (length(str) < 2)
return;
typename Value<T>::Type temp = str[0];
str[0] = str[1];
str[1] = temp;
}
//![func_exchange3]
//![length]
template <typename T>
void printLenOfFixedSizeString(T const &)
{
std::cout << LENGTH<T>::VALUE << std::endl;
}
//![length]
//![length]
int main()
{
//![length]
//![amino]
String<AminoAcid> amino_str = "ARN";
//![amino]
std::cout << "//![iterator]" << std::endl;
//![iterator]
String<char> str = "I am a string";
Iterator<String<char> >::Type it = begin(str);
while (! atEnd(it, str))
{
std::cout << *it;
++it;
}
std::cout << std::endl;
//![iterator]
std::cout << "//![iterator]" << std::endl;
std::cout << "//![length]" << std::endl;
//![length]
String<char, Array<100> > my_str;
printLenOfFixedSizeString(my_str);
//![length]
std::cout << "//![length]" << std::endl;
//![length]
return 0;
}
//![length]
|