Use a unary function object to determine even/odd. : Function Adaptor « Function « C++






Use a unary function object to determine even/odd.

Use a unary function object to determine even/odd.

#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;

class isEven: public unary_function<int, bool> {
public:
  result_type operator()(argument_type i)
  { 
    return (result_type) !(i%2);
  }
};

int main()
{
  vector<int> vectorObject;
  int i;

  for(i = 1; i < 20; i++) 
     vectorObject.push_back(i);

  cout << "Sequence:";
  for(i = 0; i <vectorObject.size(); i++)
    cout << vectorObject[ i ] << " ";
  cout << endl;

  i = count_if(vectorObject.begin(), vectorObject.end(), isEven());
  cout << i << " numbers are evenly divisible by 2.";

  return 0;
}

           
       








Related examples in the same category

1.Use a function adaptor in vectorUse a function adaptor in vector
2.Use member function reference function adaptorUse member function reference function adaptor