using namespace std;
using namespace __gnu_cxx;
struct one: public unary_function<int, int>
{
int operator()(int arg)
{
return ++arg;
}
};
int main(int argc, char** argv) {
one o1,o2;
int i = 2;
unary_compose<one,one> func = compose1(o1,o2);
cout<<func(i)<<endl;
return (EXIT_SUCCESS);
}