#include <iostream>

#include <seqan/index.h>

using namespace seqan;

int main() {
	typedef String<char, External<> > TExternalCharString;
	typedef StringSet<TExternalCharString> TStringSet;
	typedef Index<TStringSet> TIndex;
    
    TStringSet mySet;
    resize(mySet, 3);
    append(mySet[0], "aggtttccggNNNtagcgcttaa");
    append(mySet[1], "attgctgcNaatgtgctaa");
    append(mySet[2], "atggctgcNaccatgtgctatta");
    
    TIndex myIndex(mySet); 
    Finder<TIndex> myFinder(myIndex);
	
    Pattern<CharString> pat = "agg";
    // or can I simply use the following as usual?
    // Pattern< String<char> > pat = "agg";
	
    std::cout << "hit at ";
    while (find(myFinder, pat)) 
        std::cout << position(myFinder) << "  ";
    std::cout << ::std::endl;
	
	
    return 0;
}
