// Illustrating the use of an adaptor for pointers to functions #include #include #include using namespace std; bool less1(const string& x, const string& y) { return x < y; } bool greater1(const string& x, const string& y) { return x > y; } int main() { cout << "Illustrating the use of an adaptor" << " for pointers to functions." << endl; typedef set > set_type1; set_type1 set1(ptr_fun(less1)); set1.insert("the"); set1.insert("quick"); set1.insert("brown"); set1.insert("fox"); set_type1::iterator i; for (i = set1.begin(); i != set1.end(); ++i) cout << *i << " "; cout << endl; set_type1 set2(ptr_fun(greater1)); set2.insert("the"); set2.insert("quick"); set2.insert("brown"); set2.insert("fox"); for (i = set2.begin(); i != set2.end(); ++i) cout << *i << " "; cout << endl; return 0; }