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
|
///A tutorial about the use of a user-defined modifier.
#include <iostream>
#include <seqan/stream.h>
#include <seqan/modifier.h>
using namespace seqan;
//![functor]
struct MyFunctor :
public std::unary_function<char, char>
{
inline char operator()(char x) const
{
if (('a' <= x) && (x <= 'z'))
return x + ('A' - 'a');
return x;
}
};
//![functor]
int main()
{
///The modifier is applied to a string.
//![mod_str]
String<char> myString = "A man, a plan, a canal-Panama";
ModifiedString<String<char>, ModView<MyFunctor> > myModifier(myString);
//![mod_str]
//![output]
std::cout << myString << std::endl;
std::cout << myModifier << std::endl;
//![output]
//![predefined]
ModifiedString< String<char>, ModView<FunctorUpcase<char> > > myPredefinedModifier(myString);
//![predefined]
return 0;
}
|