Mega Code Archive

 
Categories / C++ / Data Structure
 

Create a reciprocal function object

#include <iostream> #include <list> #include <functional> #include <algorithm> using namespace std; // A simple function object. class reciprocal: unary_function<double, double> { public:   result_type operator()(argument_type i) {      return (result_type) 1.0/i; // return reciprocal   } }; int main() {   list<double> listObject;   int i;   for(i = 1; i <10; i++)       listObject.push_back((double)i);   cout << "Original contents of listObject:\n";   list<double>::iterator p = listObject.begin();   while(p != listObject.end()) {     cout << *p << " ";     p++;   }   cout << endl;     // use reciprocal function object   // call function object   p = transform(listObject.begin(), listObject.end(), listObject.begin(), reciprocal());    cout << "Transformed contents of listObject:\n";   p = listObject.begin();   while(p != listObject.end()) {     cout << *p << " ";     p++;   }   return 0; }