Illustrating the use of an adaptor for pointers to functions : predicate « STL Introduction « C++ Tutorial






//Revised from
//STL Tutorial and Reference Guide C++ Programming with the Standard Template L
ibrary, 2nd Edition
//by David R. Musser (Author), Atul Saini (Author)
//# Publisher: Addison-Wesley Pub (Sd) (March 1996)
//# Language: English
//# ISBN-10: 0201633981
//# ISBN-13: 978-0201633986


#include <iostream>
#include <string>
#include <set>
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()
{
  typedef set<string, pointer_to_binary_function<const string&, const string&,bool> >  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;
}
brown fox quick the
the quick fox brown








14.9.predicate
14.9.1.Create your own unary function
14.9.2.use generic function as predicate
14.9.3.Function object to process the mean value
14.9.4.Illustrating the use of an adaptor for pointers to functions
14.9.5.Use predicate, which returns whether an integer is a prime number, with a list
14.9.6.Convenience function for the compose_f_gx adapter
14.9.7.Convenience function for the compose_f_gx_hx adapter
14.9.8.Convenience function for the compose_f_gx_hy adapter