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
|
#include <iostream>
#include <seqan/basic.h>
#include <seqan/stream.h>
using namespace seqan;
template <typename T>
void checkContainerForDna(T & container)
{
// Type Metafunction Value<>
typedef typename Value<T>::Type TAlphType;
// Value Metafunction IsSameType<> evaluated at compile time
if (IsSameType<TAlphType, Dna>::VALUE)
std::cout << "I have found a container with Dna!" << std::endl;
else
std::cout << "No Dna anywhere." << std::endl;
}
int main()
{
typedef String<Dna> TDnaString;
TDnaString dna = "AAAATTTT";
typedef String<int> TIntString;
TIntString numbers;
appendValue(numbers, 1);
appendValue(numbers, 3);
checkContainerForDna(dna);
checkContainerForDna(numbers);
return 0;
}
|